php - 在 WHERE 子句中使用变量

标签 php mysql

我是 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/

相关文章:

php - PHP-MySQL 交互期间的编码不正确

MySQL 从 AS 中删除

PHP 查询未返回所有结果

php - fatal error : Uncaught exception 'Zend_Db_Table_Exception'

php - 正在寻找有关如何创建简单文本编辑器的教程?

php - 如何计算倒问号的数量?

php - 获取具有重复项计数的自定义分类术语

php - 如何按两列对MySQL进行排序?

mysql - 将 LEFT JOIN 子查询限制为 1 个结果

php - 从 Ajax 格式化 jQuery 数据表的 PHP/Mysql 数据