2016-06-25 4 views
-1

が動作していない複数のSQLクエリを実行している:私はこれを実行すると私は1つのPHPで複数のクエリを実行しようとしています

$sql = "UPDATE table1 SET column='1' WHERE id='1'"; 
$sql.= "INSERT INTO table2(column1, column2) VALUES ('1', '2')"; 
if (!$mysqli->multi_query($link, $sql)) { 

が、私はエラーを取得します。誰かが私のスクリプトに何が間違っているかを知っていますか?ここで

は私の完全なスクリプトです:

<?php 
$link = mysqli_connect("localhost", "root", "", "db");     
if($link === false){ 
die("ERROR: Could not connect. " . mysqli_connect_error()); 
} 
$sql = "UPDATE table1 SET column='1' WHERE id='1'"; 
$sql.= "INSERT INTO table2(column1, column2) VALUES ('1', '2')"; 
if (!$mysqli->multi_query($link, $sql)) { 

echo "Success"; 
} else { 
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link); 
} 

// Close connection 
mysqli_close($link); 
?> 

編集1:

私は次のエラーを取得: 注意:未定義の変数:........でmysqliの/スクリプトをライン上の.php 24

致命的なエラー:ライン24上......../script.php非オブジェクト上()メンバ関数multi_queryのに呼び出し

答えて

2

あなたはセミコロンで1文を終了して、また次の

$sql = "UPDATE table1 SET column='1' WHERE id='1'; "; 

を開始する前にスペースを配置する必要があり、あなたの代わりに手続き型のオブジェクト指向機能を使用しています。私は交換することによってそれを固定し、この

if (!$mysqli_multi_query($link, $sql)) { 
+0

doesntのは、何かを変え、私はまだ同じエラーを持っています。エラー – John

+0

についての私の最初の投稿の編集1を参照してください@john更新された回答 –

0

に変更しそう:

if (!$mysqli->multi_query($link, $sql)) { 

で:

if (mysqli_multi_query($link,$sql)) { 
+2

素晴らしい。これで、マルチクエリオプションの使用をやめます。特に文字列連結で構築されたクエリでは、セキュリティリスクが非常に高くなります。このオプションはありません。準備されたステートメントを使用する。 –

関連する問題