mysql UPDATE用php column1 SET = array [0] [0]?

时间:2013-07-09 01:12:12

标签: mysql sql-update where

我在更新数据库中的列时遇到问题。如果我使用

,我可以让它工作
  

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

但是我将所有数据库信息输入到一个数组($ rows)中..所以我已经测试过了:

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 个答案:

答案 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。准备好的语句通常比生成的查询更安全。