我正在使用$ _GET函数在整个表单中向前传送数据库字段。但是当我尝试从数据库中提取信息时,我遇到了一个绊脚石:
<?php
$prodname=$_GET["q"];
?>
<h3>Product Name: <u><?php echo $prodname; ?></u></h3><br />
<?php
$con = mysql_connect("localhost","cl49-vogalcms","vogalcms");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
$prodname=$row['prodname'];
$catagory=$row['catagory'];
@mysql_select_db("cl49-XXX",$con)or die('Unable to select database ln 60:'.mysql_error());
$result=mysql_query("SELECT * FROM products WHERE prodname=$prodname")or die('ln 61 :'.mysql_error());
$cnt=$_COOKIE["count"];
setcookie("user",$myid,time()+10000);
mysql_close($con);
?>
<form name="newad" method="post" enctype="multipart/form-data" action="drtsavepic.php?q=<?php echo"$prodname"; ?>"> <br> <Br>
<input type="file" name="image">
<input name="Submit" type="submit" value="Upload image">
</form>
当我运行此代码时,我收到以下错误
61:你的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近''第1行
任何人都可以对这个问题发表任何看法吗?
答案 0 :(得分:4)
尝试替换此mysql_query("SELECT * FROM products WHERE prodname=$prodname")
通过
mysql_query("SELECT * FROM products WHERE prodname='".$prodname."'")
答案 1 :(得分:1)
将您的productname变量用引号括起来,
像这样$result=mysql_query("SELECT * FROM products WHERE prodname='$prodname'")or die('ln 61 :'.mysql_error());
因为可能存在产品名称是带有空格的两个单词,查询失败的情况