Я хочу создать одну страницу, где пользователи добавят свою информацию. У меня уже есть эта страница, но моя настоящая проблема – ее код.
У меня есть какая-то проблема, с той частью кода:
<?php //Connect to DB $db = mysql_connect("localhost","USER","PASS") or die("Database Error"); mysql_select_db("DB",$db); //Get ID from request $idstire = isset($_GET['idstire']) ? (int)$_GET['idstire'] : 0; //Check id is valid if($idstire > 0) { //Query the DB $resource = mysql_query("SELECT * FROM stiri2 WHERE idstire = " . $idstire); if($resource === false) { die("Eroare la conectarea cu baza de date"); } if(mysql_num_rows($resource) == 0) { die("Se pare ca stirea nu mai exista, sau a fost stearsa. <a href='http://www.wanted-web.ro'>ACASA</a>"); } $user = mysql_fetch_assoc($resource); echo " <div class='main-article-content'> <h2 class='article-title'>asd</h2> <div class='article-photo'> <img src='" . $user['poza'] . "' class='setborder' alt='' /> </div> <div class='article-controls'> <div class='date'> <div class='calendar-date'>" . $user['data'] . "</div> </div> <div class='right-side'> <div class='colored'> <a href='' class='icon-link'><span class='icon-text'></span>Printeaza articol</a> <a href='#' class='icon-link'><span class='icon-text'></span>Trimite prietenilor</a> </div> <div> <a href='#' class='icon-link'><span class='icon-text'></span>de Cristian Cosmin D.</a> <a href='#' class='icon-link'><span class='icon-text'></span>39 comentarii</a> </div> </div> <div class='clear-float'></div> </div> <div class='shortcode-content'> <p>" . $user['nume'] . " , " . $user['prenume'] . " , " . $user['varsta'] . " , " . $user['localitatea'] . "</p> </div> </div> "; } $query = "UPDATE stiri2 SET accesari = accesari + 1 WHERE idstire=\"" . $idstire . "\""; $result = mysql_query($query) OR die(mysql_error()); ?>
Это показывает мне ошибку здесь:
if(mysql_num_rows($resource) == 0) { die("Se pare ca stirea nu mai exista, sau a fost stearsa. <a href='http://www.wanted-web.ro'>ACASA</a>"); }
Я действительно не понимаю, почему !?
Может ли кто-нибудь объяснить мне? Спасибо!
mysql_query должен иметь второй параметр как соединение, которое находится в вашем случае $ db
$resource = mysql_query("SELECT * FROM stiri2 WHERE idstire = " . $idstire,$db);
если это также не работает, то используйте mysql_error, чтобы узнать точную ошибку
$row=mysql_num_rows($resource); if($row) { } else { mysql_error(); }
это покажет вам, есть ли problwm в mysql_num_rows
Проблема в том, что ваш SQL-запрос не имеет никаких результатов.
Проверьте, содержит ли ваша база данных несколько строк для этого идентификатора .
Если $ _GET ['idstire'] не установлен, вы устанавливаете $ idstire равным 0. Есть ли какая-либо запись в таблице для idstire = 0?
Вы можете распечатать свой php-запрос с заменой $ idstire на его значение. Возьмите этот запрос и выполните в phpmyadmin, чтобы увидеть ошибку. Также проверьте, существует ли строка для значения $ idstire, используемого в запросе.