兩個(gè)mysqli查詢有可能有像這樣的兩個(gè)mysqli_查詢嗎?mysqli_query($dblink, "INSERT INTO images (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName')") or die(mysql_error());
mysqli_query($dblink, "INSERT INTO images_history (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name, day, month, year) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName', '$day', '$month', '$year')") or die(mysql_error());基本上,我想更新DB中的兩個(gè)表。有更好的方法嗎?
2 回答

慕的地8271018
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
一勞永逸!使用此函數(shù)可以獲得腳本中任意位置的無限數(shù)量查詢的結(jié)果。
職能:
function loop_multi($result){ //use the global variable $conn in this function global $conn; //an array to store results and return at the end $returned = array("result"=>array(),"error"=>array()); //if first query doesn't return errors if ($result){ //store results of first query in the $returned array $returned["result"][0] = mysqli_store_result($conn); //set a variable to loop and assign following results to the $returned array properly $count = 0; // start doing and keep trying until the while condition below is not met do { //increase the loop count by one $count++; //go to the next result mysqli_next_result($conn); //get mysqli stored result for this query $result = mysqli_store_result($conn); //if this query in the loop doesn't return errors if($result){ //store results of this query in the $returned array $returned["result"][$count] = $result; //if this query in the loop returns errors }else{ //store errors of this query in the $returned array $returned["error"][$count] = mysqli_error($conn); } } // stop if this is false while (mysqli_more_results($conn)); }else{ //if first query returns errors $returned["error"][0] = mysqli_error($conn); } //return the $returned array return $returned; }
用法:
$query = "INSERT INTO table1 (attribute1) VALUES ('value1');";$query .= "INSERT INTO table2 (attribute2) VALUES ('value2');";$query .= "SELECT * FROM table3;";//execute query$result = mysqli_multi_query($conn, $query);//pass $result to the loop_multi function$output = loop_multi($result);
輸出量
if(isset($output['error'][2]) && $output['error'][2] !== ""){ echo $output['error'][2];}else{ while($row = $output['result'][2]->fetch_assoc()) { print_r($row); }}
- 2 回答
- 0 關(guān)注
- 409 瀏覽
添加回答
舉報(bào)
0/150
提交
取消