php - 使用 php 错误更新 sql 表

标签 php mysql sql

我试图用 php 函数更新 MySQL 数据库表(在线),但每次我点击“按钮更新”时它都会回答我:

Could not update data: Unknown column '$username' in 'where clause'

有人可以帮我解决这个错误,或者只建议我正确的解决方法吗?

这是代码:

<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'";

关于php - 使用 php 错误更新 sql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26358307/

相关文章:

php查询从mysql中获取数据

php - 计算动态添加的表单元素的总和

php - 找不到 Laravel 5 模型类 - hasMany

php - 将表单数据传递给 php 变量。变量似乎是空的

sql - 如何使用数据工厂从表缓存中删除数据?

php - 困难算法: badge balancing,数学分布

php 汇总/ceil 合并 mysql AVG()

mysql - 像 JOIN 一样创建表

mysql - 使用带有 out 变量的 sp 会出现以下错误消息 : Error Code: 1241. 操作数应包含 1 列

php - 仅当我在聊天应用程序中发送新消息或刷新页面时才会显示旧消息