iT邦幫忙

0

PHP多筆SQL語法執行

php

有沒有辦法
$link=mysqli_connect("localhost","root","password","db");
$sql="INSERT INTO user(name) VALUSE('test01'); SELECT LAST_INSERT_ID()";
mysqli_query($link,$sql);

中的 $sql 一次執行多筆語法 而不分開使用,因為會有同步的問題

1 個回答

0
外獅佬
iT邦大師 1 級 ‧ 2015-03-24 16:56:46

這問題....好像有人問過了啊....
請愛用mysqli的multi_query

<pre class="c" name="code">
$link=mysqli_connect("localhost","root","password","db");
$sql="INSERT INTO user(`name`) VALUSE('test01'); SELECT LAST_INSERT_ID()";
$link_multi_query($link,$sql);
看更多先前的回應...收起先前的回應...
benq80515 iT邦新手 5 級 ‧ 2015-03-24 19:49:10 檢舉

不好意思再請問
$res = mysqli_multi_query($link,$sql);
得到的結果 假如是 10
但是 無法使用到
$sql = "INSERT INTO user(id) VALUSE('".$res."');
需要經過什麼轉換嗎?這方面的就不是非常的理解了都是0
但是printf(json_decode($res))倒是有出現值

fillano iT邦超人 1 級 ‧ 2015-03-24 20:04:33 檢舉

$res是一個resource,你要使用mysqli_next_result()加上mysqli_fetch_array()等來取出資料。

其實php的文件中都有範例可以參考的啦:
http://php.net/manual/en/mysqli.multi-query.php

fillano iT邦超人 1 級 ‧ 2015-03-24 20:08:25 檢舉

ㄝ,說錯了,如果你用物件導向介面,查詢成功時會回傳一個mysqli_result物件,如果是用程序導向介面(就是函數啦),查詢成功會回傳一個資源,需要用mysqli_fetch_X等函數(X代表好幾種fetch)來取出資料。

benq80515 iT邦新手 5 級 ‧ 2015-03-24 20:22:34 檢舉

$row=mysqli_fetch_row($res)
printf(json_decode($row))
他顯示的是"XX" , XX = 數值 包含 " 號
可是再INSERT 還是 0

外獅佬 iT邦大師 1 級 ‧ 2015-03-25 00:16:37 檢舉

費大師降臨...(拜)

wiselou提到:
費大師降臨

簽名簽名簽名簽名簽名
筆記筆記筆記筆記筆記
拍手拍手拍手拍手拍手

我要發表回答

立即登入回答