2013-07-09 61 views
0

我在更新數據庫中某列的值時遇到問題。我可以讓它工作,如果我使用MySQL更新與PHP列1 SET = array [0] [0]?

$ result1 = mysqli_query($ con,「UPDATE Customers SET NextExpectedCut = 222 WHERE Name ='ruth'」);

但我輸入的所有數據庫的相關信息到一個數組($行)..所以那裏我這樣做已經測試:

echo $rows[0][0]; 

,我得到的第一個客戶在瀏覽器的名稱,爲什麼不能我得到這個工作?我的格式是錯誤的還是有不同的方式來做到這一點?

if(isset($_GET['test']) && $_GET['test'] =="1") 
{ 
    $result = mysqli_query($con,"SELECT * FROM Customers"); 

    while($row = mysqli_fetch_array($result)) 
    { 
     $rows[]=$row; 

    } 

echo $rows[0][0] ." is finished"; 

$result1= mysqli_query($con,"UPDATE Customers SET NextExpectedCut = 222 WHERE Name = $rows[0][0]"); 

回答

1

你需要用括號來表示你的陣列,並註明您的輸入:

$result1= mysqli_query($con,"UPDATE Customers SET NextExpectedCut = 222 WHERE Name = '{$rows[0][0]}'"); 

或連接你的字符串

$result1= mysqli_query($con,"UPDATE Customers SET NextExpectedCut = 222 WHERE Name = '".$rows[0][0]."'"); 

您可能希望使用事先準備好的聲明,而不是生成的查詢,而不是:http://php.net/manual/en/mysqli.prepare.php。編寫的語句通常比生成的查詢更安全。

+0

非常感謝!!!!! –