У меня есть страница, где я использую параметр в URL как фильтр для моего SQL-запроса. я создал переменную из параметра URL:PHP MYSQL Table отображает только одну строку результатов
$station = htmlspecialchars($_GET["station"]);
Затем установите условный запрос в зависимости от наличия или отсутствия устанавливается параметр URL:
if(isset($_GET['station'])) {
$query = "SELECT * FROM song_of_the_day WHERE station = '$station'";
}
else {
$query = "SELECT * FROM song_of_the_day WHERE end_date >= CURDATE()";
}
$result = mysql_query($query) or die(mysql_error());
$num_rows = mysql_fetch_row($result);
Затем я отображения результатов в таблице:
echo "<table width='758' border='0' cellpadding='10' cellspacing='0' class='myTable'>";
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td align="left" width="48">' . $row['station'] . '</td>';
echo '<td align="left">' . date('M j, Y',strtotime($row['end_date'])) . '</td>';
echo '<td width="24" align="left"><a href="edit.php?id=' . $row['id'] . '"><img src="http://yourligas.yourli.com/ad-inventory/edit.png" border="0"></a></td>';
echo '<td width="24" align="left"><a href="delete.php?id=' . $row['id'] . '" data-confirm="Are you sure you want to delete this entry?" ><img src="http://yourligas.yourli.com/ad-inventory/remove.png" border="0"></a></td>';
echo "</tr>";
echo '</tbody>';
}
echo "</table>";
запрос работает найти, когда команда ELSE использует запрос, где я не полагаясь на параметр в моем SQL, но проблема, которую я вижу, когда URL paramete r ISSET отображает только одну строку из запроса, когда имеется более одной строки, которая соответствует критериям в фактической базе данных. Кто-нибудь знает, почему это происходит?
Спасибо
Вы не должны использовать MySQL. Посмотрите на PDO, ПОЖАЛУЙСТА! – Shiv
*** Пожалуйста, прекратите использование 'mysql_ *' функций (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). *** [Эти расширения ] (http://php.net/manual/en/migration70.removed-exts-sapis.php) были удалены в PHP 7. Узнайте о [подготовленном] (http://en.wikipedia.org/wiki/Prepared_statement) для [PDO] (http://php.net/manual/en/pdo.prepared-statements.php) и [MySQLi] (http://php.net/manual/en/mysqli.quickstart.prepared- statements.php) и подумайте об использовании PDO, [это действительно довольно легко] (http://jayblanchard.net/demystifying_php_pdo.html). –
[Little Bobby] (http://bobby-tables.com/) говорит *** [ваш скрипт подвержен риску инъекций SQL.] (Http://stackoverflow.com/questions/60174/how-can- я-не допустить, SQL-инъекцию-в-PHP) ***. Даже [избегая строки] (http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string) небезопасно! –