php - 如何存储 MYSQL 过程的结果,以便我可以在另一个使用 PHP 的过程中使用它

标签 php mysql

我正在经历一生中最困难的时期,试图找出如何让这段代码工作。基本上,我有一个 html 脚本从用户那里获取值,然后我将这些值存储在数据库中。我有进行存储的程序,并且这些工作...我在从程序中提取值以供以后使用时遇到问题:

$addressID = "CALL get_addressID('".$_POST['street_address']."', '".$_POST['city']."', '".$_POST['state']."', '".$_POST['zip']."', '".$_POST['country']."')";
$creditID = "CALL get_creditID('".$_POST["name_on_card"]."', '".$_POST["card_num"]."','".$_POST["exp_date"]."','".$_POST["sec_code"]."', '".$_POST["billing_st_address"]."', '".$_POST["billing_city"]."', '".$_POST["billing_state"]."','".$_POST["billing_zip"]."','".$_POST["billing_country"]."')";
$obj = mysqli_query($conn, $creditID);
$SSS = mysqli_query($conn, $addressID); 
(line 100) $sql = "CALL add_customer('".$_POST["first_name"]."', '".$_POST["last_name"]."', '".$obj."', '".$SSS."', '".$_POST["email"]."')";
 if ($conn->query($sql) === TRUE) {
      echo "User data info stored successfully\n";
} else {
      echo "Error: " . $sql . "<br>" . $conn->error;
}

我希望能够在这部分使用 $obj 和 $SSS,以便我可以用它们创建一个用户。我收到以下错误:“可捕获的 fatal error :无法将类 mysqli_result 的对象转换为第 100 行 C:\wamp64\www\project\CustomerAttempt.php 中的字符串”

我正在运行的程序如下:

SELECT address_id FROM address where street_address = st_address and City = 
Fcity AND state = Fstate and postal_code = fzip and country = fcountry

和:

SELECT card_ID from credit_card WHERE Cardholders_Name = name_on_card AND Card_number = card_num AND Expiration_date = exp_date AND Security_code = sec_code AND Billing_Street_Address = billing_st_address AND Billing_City = billing_city_f AND Billing_State = billing_state_f AND Billing_Postal_Code = billing_zip AND Billing_Country = billing_country_f

我不知道该怎么做,而且是 php 和 mysql 的新手。任何帮助将不胜感激。

我使用 $conn 作为变量,通过 mysqli_connect 连接到我的数据库。

最佳答案

嗯,你对 mysqli_query 的理解有点偏差。这是 php 文档指出 mysqli_query 将返回的内容。

“失败时返回 FALSE。对于成功的 SELECT、SHOW、DESCRIBE 或 EXPLAIN 查询,mysqli_query() 将返回 mysqli_result 对象。对于其他成功的查询,mysqli_query() 将返回 TRUE。”

换句话说,你的 $obj = mysqli_query($conn, $creditID); line 将返回 mysql 结果对象,而不是可以附加的字符串。为了获取该字符串,您可以使用
$object = $obj->fetch_object(); $string = $object->columnName;

columnName 必须是存储您要提取的值的列的名称。

关于php - 如何存储 MYSQL 过程的结果,以便我可以在另一个使用 PHP 的过程中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49022000/

相关文章:

python - MySQL/PyMySQL 中的缓冲提交是否是一次插入多行的可行替代方案?

php - 我想多次使用同一张图片,我希望网络浏览器只下载这张图片一次,怎么办?

php - 如何在 php 中对每个其他字符进行 CAPITaLiZe?

php - 成功登录后需要刷新登录表单才能看到管理内容

php - 真的在 CONCAT_WS 上苦苦挣扎......请帮助新手 :)

mysql - 如何删除字符串的格式部分?

php - 发布后如何重新加载页面

php - 我可以替换ajax中的php代码而不是url :

javascript - 如何通过codemirror为页面制作php预览功能

android - 单击 ListView 项目时如何从数据库 mysql &Screen 中删除记录?