我是 MySQL 和 PHP 的新手。我有一个 HTML 表单,我想将 1 个变量从传递到我的 PHP 代码,然后在我的数据库上运行查询以查找在“Serial”列下保存该变量的记录。当我对要查找的“序列号”进行硬编码时,我可以很好地运行它,但是当我尝试使用该变量时,我得到了一个错误。
任何帮助将不胜感激!或者更好的方法。
这是我的错误:“where 子句”中的未知列“amg002”
这是我的代码;
$serial= $_POST['Serial'];
echo $serial;
//Connect To Database
$link = mysql_connect($hostname,$username, $password) OR DIE ('Unable to connect to database! Please try again later.');
echo "Connected to MySQL<br />";
//Select the database - 'SiteInfo'
// Collects data from "SiteInfo" table
//****This is where I am running into the error***
$sql = 'SELECT * FROM `SiteInfo` WHERE `Serial` ='.$serial;
// This works!!!
//$sql = 'SELECT * FROM `SiteInfo` WHERE `Serial` ="amg002";';
$data = mysql_query($sql)
or die(mysql_error());
// puts the "SiteInfo" info into the $info array
$info = mysql_fetch_array( $data );
//Print out the contents of the entry
echo "Site Name: ".$info['SiteName'] . "<br /";
Print "Serial Number: ".$info['Serial'] . "<br />";
Print "Location: ".$info['Location'] . "<br />";
// Close the database connection
mysql_close($link);
echo "Connection Closed. <br />";
最佳答案
我同意这是一个报价问题,但这是我的代码的样子。
$sql = 'SELECT * FROM SiteInfo WHERE Serial = "' . $serial . '"';
或
$sql = "SELECT * FROM 'SiteInfo; WHERE 'Serial' = \"$serial\"";
关于php - 在 WHERE 子句中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10803547/