php mysql查询抛出错误

时间:2015-02-16 01:33:55

标签: php mysql

这个脚本有什么问题?它一直在给我的错误,但不会告诉我有什么问题

我需要这个来从url中传递的项目编号中查找频道编号。然后回显频道号

<?php
$id = $_GET['item'];
if (!$link = mysql_connect('server', 'user', 'pass')) {
    echo 'Could not connect to mysql';
    exit;
}

if (!mysql_select_db('xmlrpc', $link)) {
    echo 'Could not select database';
    exit;
}

 $sql = mysql_query("SELECT channel FROM channels WHERE item = '".$_GET['item']."'")or die(mysql_error());
$result = mysql_query($sql, $link);

if (!$result) {
    echo "DB Error, could not query the database\n";
    echo 'MySQL Error: ' . mysql_error();
    exit;
}

while ($row = mysql_fetch_assoc($result)) {
    echo $row['channel'];
}

mysql_free_result($result);

?>

2 个答案:

答案 0 :(得分:0)

 $sql = mysql_query("SELECT channel FROM channels WHERE item = '".$_GET['item']."'") or die(mysql_error());

 $sql = "SELECT channel FROM channels WHERE item = '".$_GET['item']."'";

作为旁注,请勿使用mysql_个函数,became obsolete (PHP 5.5)。例如,使用PDO,因为它代表您的代码容易受到SQL injections

的攻击

答案 1 :(得分:-1)

当item已被声明为变量$ id

$id = $_GET['item'];

您已经可以将它用作mysql中的变量

$sql = mysql_query("SELECT channel FROM channels WHERE item = '".$_GET['item']."'")or die(mysql_error());

将其更改为

$sql="SELECT * FROM channels WHERE item ='$id'";