此代碼是爲了檢查提交的表單值,並更新表,但是 它只是取代了場空PHP MYSQL更新stament不工作
在那裏出了錯任何想法,請?
<form action = "update.php" method = "POST">
<p>
New Name: <input type "text" name="name">
<input type= "submit">
</p>
</form>
<?php
require ('/var/www/html/site1/connect_db.php');
if(!empty($_POST['name']) && !is_numeric($_POST['name']))
{
$name=$_POST['name'];
$name=mysqli_real_escape_string($dbc,$query);
$name=strip_tags($name);
#$query='update customers SET customerName = '".$name."' where customerNumber=114';
$query = "update customers ". "SET customerName = $name"."where customerNumber=114" ;
mysqli_query($dbc,$query);
}
else
{
echo $name;
}
$query = 'select * from customers where customerNumber=103';
$result = mysqli_query($dbc,$query);
while ($row=mysqli_fetch_array($result, MYSQLI_NUM))
{
echo"<p>Name : $row[1]</p>";
}
mysqli_close($dbc);
?>
如果你迴應第一個'$ query',你會發現'WHERE'子句之前沒有空格。這和你的'$ name'需要用單引號包裝,因爲它是一個字符串。您還應該考慮使用預準備語句,您可以廣泛開放SQL注入。? – Qirel
或者只是使用準備好的語句。 –
爲什麼要分割字符串並將它連接在一起? – Barmar