2015-02-16 3 views
-2

Что не так с этим скриптом? он продолжает давать мои эры, но не скажет мне, что не так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); 

?> 
+0

либо использования что '$ sql' или' $ result', не смешивайте их – Ghost

ответ

-1

где элемент уже объявлена ​​как переменная $ 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'"; 
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']."'"; 

Как Sidenote не используют mysql_ функции, они became obsolete (PHP 5.5). Например, используйте PDO, поскольку он стоит, ваш код уязвим для SQL injections.

Смежные вопросы