簡體   English   中英

用PHP錯誤更新SQL表

[英]Update sql table with php error

我試圖用php函數更新MySQL數據庫表(在線),但是每次我單擊“按鈕更新”它都會回答我:

無法更新數據:“ where子句”中的未知列“ $ username”

有人可以幫助我解決此錯誤,還是僅建議我解決該錯誤的正確方法?

這是代碼:

<html>
<head>
<title>Update Name of my_table in MySQL Database</title>
</head>
<body>

<?php
if(isset($_POST['update']))
{
$dbhost = 'localhost';
$dbuser = 'dbuser';
$dbpass = 'dbpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}

$username = $_POST['username'];
$name = $_POST['name'];

$sql = 'UPDATE tbl_user SET name = $name WHERE username = $username';

mysql_select_db('my_table');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully\n";
mysql_close($conn);
}
else
{
?>
<form method="post" action="<?php $_PHP_SELF ?>">
<table width="400" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="100">Usrename</td>
<td><input name="username" type="text" id="username"></td>
</tr>
<tr>
<td width="100">Name</td>
<td><input name="name" type="text" id="name"></td>
</tr>
<tr>
<td width="100"> </td>
<td> </td>
</tr>
<tr>
<td width="100"> </td>
<td>
<input name="update" type="submit" id="update" value="Update">
</td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>

這是my_table列:

id | username | password | email | name

更改此查詢行您缺少變量周圍的單個隊列。

$sql = 'UPDATE tbl_user SET name = $name WHERE username = $username';

對此

$sql = "UPDATE tbl_user SET name = '$name' WHERE username = '$username'";
$sql="UPDATE tbl_user SET name = '".$name."' WHERE username = '".$username."'"

我認為有引號的問題,因此這會更好,因為名稱和用戶名字段包含字符串。 使用字符串時,使用字符串縮進是更好的解決方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM