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

时间:2018-02-28 04:29:23

标签: 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,以便我可以使用它们创建用户。我收到以下错误:&#34;可捕获的致命错误:类100 mysqli_result的对象无法在第100行和第34行的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的新手。任何帮助将不胜感激。

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

1 个答案:

答案 0 :(得分:1)

嗯,你对mysqli_query的理解有点过时了。这是php文档声明mysqli_query将返回的内容。

&#34;失败时返回FALSE。对于成功的SELECT,SHOW,DESCRIBE或EXPLAIN查询,mysqli_query()将返回一个mysqli_result对象。对于其他成功的查询,mysqli_query()将返回TRUE。&#34;

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

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