2014-07-25 5 views
0

Привет У меня есть следующий URLSQL запрос, чтобы вернуть смешанные таблицы

http://www.test.nl/test.php?itemnr=123 

В моей базе данных в таблице items2 мои столбцы:

itemnr | itemId | Description | etc 

Потому что я хочу, чтобы показать itemnr И в Itemid на на этой странице У меня есть следующий запрос:

<?php 
$itemnummer = intval($_GET['itemnr']); 
$itemIDnummer = "SELECT DISTINCT itemId from items2 where itemnr = '" .$itemnummer. "'"; 
$resultaat = mysql_query($itemIDnummer) or die(mysql_error()); 

echo "$resultaat"; 
?>  

Может ли кто-нибудь увидеть мою ошибку?

+4

Какая ошибка? Какие странные результаты? Вы получили сообщение об ошибке? Пустой экран? В настоящее время вы пытаетесь напрямую распечатать результирующий набор; вам нужно будет перебирать через него что-то вроде 'mysql_fetch_array', чтобы получить данные. Вы также широко открыты для SQL-инъекций; если вы просто учитесь сейчас, вы должны посмотреть на использование PDO вместо устаревшей библиотеки 'mysql_' – andrewsi

+2

этот код [сильно уязвим для SQL-инъекций] (http://stackoverflow.com/questions/60174/how-can- i-prevent-sql-injection-in-php), рассмотрите возможность использования mysqli или pdo вместо mysql. –

+1

Кроме того, '$ resultaat' не является строкой, поэтому это вызовет ошибку, даже если запрос будет успешным. Вероятная ошибка 'array to string conversion'. – naththedeveloper

ответ

1

Add, чтобы ваш код выглядит следующим образом

<?php 
$itemnummer = intval($_GET['itemnr']); 
$itemIDnummer = "SELECT DISTINCT itemId from items2 where itemnr = '" .$itemnummer. "'"; 
$resultaat = mysql_query($itemIDnummer) or die(mysql_error()); 
$fetchaat = mysql_fetch_assoc($resultaat); 

echo $fetchaat["itemId"]; 
?> 

Обновленный Вопрос:

Потому что я хочу, чтобы показать itemnr И в Itemid на этой странице у меня есть этот запрос:

<?php 
$itemnummer = intval($_GET['itemnr']); 
$itemIDnummer = "SELECT DISTINCT itemId, itemnr from items2 where itemnr = '" .$itemnummer. "'"; 
$resultaat = mysql_query($itemIDnummer) or die(mysql_error()); 
$fetchaat = mysql_fetch_assoc($resultaat); 

echo $fetchaat["itemId"]; 
echo $fetchaat["itemnr"]; 
?> 
+0

Как и комментарий к OP, ваш код уязвим для SQL-инъекций attacs – Barranka

+1

Поскольку OP спросил «Может ли кто-нибудь увидеть мою ошибку», я заметил, что он пытался эхо-массива. Эхо подсказывало его намерения, если он чувствовал, что его sql-заявление было неприемлемым для инъекций, тогда он бы попросил об этом. – DanceSC

+0

@ Барренка Нет, это не так. См. Мой комментарий к вопросу. –