我只想将变量"$ read"定义为数据库中的值.我怎样才能做到这一点?
$read = "SELECT `read` FROM `users` WHERE `id` = '$id'";
Run Code Online (Sandbox Code Playgroud)
$read = mysql_result(mysql_query("SELECT read FROM users WHERE id = $id"),0);
Run Code Online (Sandbox Code Playgroud)
请注意使用的答案mysql_query,因为它们容易受到SQL注入攻击.
如果$id由用户提供的,你应该永远不会直接把它放到SQL查询,而是用准备好的语句.
实现此目的的一种方法是使用PDO,方式类似于:
$dbh = new PDO($connStr, $user, $pass);
$sql = "SELECT `read` FROM `users` WHERE `id` = :id";
$statement = $dbh->prepare($sql);
$statement->execute( array('id' => $id) );
$read = $statement->fetchColumn();
Run Code Online (Sandbox Code Playgroud)
有关如何使用PDO的更多信息,请参阅以下内容:
小智 5
实现此目的的一种方法如下:
// Run the query
$db_result = mysql_query("SELECT read FROM users WHERE id = $id");
// Get the first row (in this case you'll only get one row)
$row = mysql_fetch_array($db_result, MYSQL_NUM);
// Get the first column (you should only have one column anyway) and put it into your variable
$read = $row[0];
Run Code Online (Sandbox Code Playgroud)
正如下面所指出的,我应该补充一点,如果你不相信$ id被正确转义,你可能容易受到SQL注入攻击.要解决这个问题,您应该确保正确转义并验证$ id或使用某种绑定或预处理语句为您执行此操作,例如在此问题或下面的示例中.
| 归档时间: |
|
| 查看次数: |
22707 次 |
| 最近记录: |