php不使用SQL;空结果

时间:2012-03-25 02:15:48

标签: php mysql database

我正在开展一个项目,我将一个id存储在一个表中,该表与文件名链接。在请求id时,SQL返回文件名。是的,Redis最适合这类事情,但我不知道如何使用PHP。

无论如何,以下代码返回一个空结果:

<?php
    mysql_connect("localhost","USER","PASSWORD") or die("Unable to connect to SQL server");                                                                                                              
    mysql_select_db("DATABASE") or die("Unable to select the database");
    $scaped = mysql_real_escape_string($_GET["id"]);
    $res = mysql_query("SELECT fn from links WHERE id=$scaped");
    mysql_close();
    echo $res;

?>

我知道在请求页面时我正在使用的密钥,但是我得到一个空的结果并且没有错误。发生了什么事?

编辑:我明白了:

Unknown column 'rytughguyig78iu786546789' in 'where clause'

长字符串是我的id。我的where子句是这样的。那里有什么不对?

3 个答案:

答案 0 :(得分:3)

更改行

$res = mysql_query("SELECT fn from links WHERE id=$scaped");

$res = mysql_query("SELECT fn from links WHERE id='".$scaped."' limit 0,1");

并打印出记录:

$result = mysql_fetch_row($res);
print_r($result);

答案 1 :(得分:1)

mysql_result将返回某种结果集对象。所以你需要: 1.)检查结果集对象是否有记录 2.)从结果集中获取结果记录 3.)打印出来。

示例如:

$res = mysql_query("SELECT fn from links WHERE id='$scaped'");
if( mysql_num_rows( $res ) >0){
    $record = mysql_fetch_assoc($res); //other options: mysql_fetch_object, mysql_fetch_row
    print $record['fn'];
}

链接: mysql_num_rowsmysql_fetch_assocmysql_fetch_objectmysql_fetch_row

在您的错误消息后更新答案: 将$ scaped更改为'$ scaped'进行字符串比较

答案 2 :(得分:1)

更改

"SELECT fn from links WHERE id=$scaped"

"SELECT fn from links WHERE id='$scaped'"