gpt4 book ai didi

php - MySQL 和 PHP : Unkown Column in WHERE clause, 但列确实存在

转载 作者:行者123 更新时间:2023-11-29 23:16:30 25 4
gpt4 key购买 nike

我读了很多关于这个主题的帖子,我的头快要爆炸了。

我正在尝试创建一个小表单,用于更新客户的潜在客户数据库,并列出数据库中的所有条目。我不是后端开发人员,我曾多次向我的客户提到这一点,但我的客户似乎并不关心......所以我正在尝试即时解决这个问题。

我已经在“prospects”表中创建了以下列:“id”、“fname”、“lname”、“tickler”和“info”。所以我知道他们在那里。此外,它们对于我在更新表单下面的潜在客户列表也运行得很好(效果很好)。

但是当我尝试更新数据库时,出现“无法更新数据:‘where 子句’中的未知列‘$id’”错误。如果我删除 WHERE 子句,它会切换到“无法更新数据:‘字段列表’中的未知列‘$fname’”。目前,我只是想让它与名字一起使用,使用 ID 号作为条件。最终它也将能够更新其他字段。

我不知道是否有人可以看到该页面(我认为我的客户端密码保护了该页面,并且我仍然登录),但您可以尝试通过 http://www.vlist.info 查看它.

这是代码:

<body>

<h2>Update Prospect</h2>
<?php
if(isset($_POST['update']))
{
$dbhost = 'host';
$dbuser = 'dbo558532591';
$dbpass = 'pass';
$dbname = 'db558532591';
$tablename = 'prospects';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}

$id = $_POST['id'];
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$tickler = $_POST['tickler'];
$info = $_POST['info'];

mysql_select_db( $dbname ) or die('Could not find table:' . mysql_error());

$sql = 'UPDATE prospects SET fname = $fname WHERE id = $id';

$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>
<tr>
<th>ID:</th>
<th>First Name:</th>
<th>Last Name:</th>
<th>Tickler:</th>
<th>Info:</th>
<th></th>
</tr>
<tr>
<td><input type="text" name="id" /></td>
<td><input type="text" name="fname" /></td>
<td><input type="text" name="lname" /></td>
<td><input type="text" name="tickler" /></td>
<td><input type="text" name="info" /></td>
<td><input type="submit" value="Update" name="update" /></td>
</tr>
</table>
</form>
<?php
}
?>

<h2>Prospects</h2>

<?php $localhost="host";$username="dbo558532591";$password="pass";$database="db558532591";
mysql_connect($localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database.");
$query="SELECT * FROM prospects";$result=mysql_query($query);
$num=mysql_numrows($result);mysql_close();?>
<table>
<tr>
<th>ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Tickler</th>
<th>Info</th>
</tr>
<?php $i=0;while ($i < $num) {
$id=mysql_result($result,$i,"id");
$fname=mysql_result($result,$i,"fname");
$lname=mysql_result($result,$i,"lname");
$tickler=mysql_result($result,$i,"tickler");
$info=mysql_result($result,$i,"info");
?>
<tr>
<td><?php echo $id; ?></td>
<td><?php echo $fname; ?></td>
<td><?php echo $lname; ?></td>
<td><?php echo $tickler; ?></td>
<td><?php echo $info; ?></td>
</tr>
</table>
<?php $i++;}?>

最佳答案

试试这个:

$sql = 'UPDATE prospects SET fname = "'.$fname.'" WHERE id = '.$id;

关于php - MySQL 和 PHP : Unkown Column in WHERE clause, 但列确实存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27748112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com