簡體   English   中英

如何存儲MYSQL過程的結果,以便可以在使用PHP的另一個過程中使用它

[英]How do I store the result of a MYSQL procedure so I can use it in another procedure using PHP

我一生中最艱難的時期試圖弄清楚如何使此代碼正常工作。 基本上,我有一個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,以便可以使用它們創建用戶。 我收到以下錯誤:“可捕獲的致命錯誤:類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); 行將返回mysql結果對象,而不是您可以附加的字符串。 為了獲得該字符串,您可以使用
$object = $obj->fetch_object(); $string = $object->columnName;

columnName必須是存儲要提取的值的列的名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM