#php #mysql #sql
#php #mysql #sql
Вопрос:
Привет, ребята, я пытаюсь показать всем пользователям, что pokemon были в таблице belongsto = there username вот мой код, у меня есть подключение поверх этого
// Get all the data from the "example" table
$result = "SELECT * FROM user_pokemon WHERE
belongsto='".$_SESSION['username']."'
AND (slot='0')'";
// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $result )) {
// Print out the contents of each row into a table
echo $row['pokemon'];
echo $row['id'];
}
я напечатал красным имя пользователя, и там имя пользователя находится в сеансе имени пользователя.
я думаю, что мне может не хватать ‘ или чего-то, что я добавляю или mysql в конце запроса, но затем страницы исчезают без ошибок
Ответ №1:
Вы не выполняете запрос и в нем есть ошибка. И вы не экранируете строки, входящие в запрос. Правильная версия кода будет
// escape a string going to query.
$username = mysql_real_escape_string($_SESSION['username']);
// create a query
$sql = "SELECT * FROM user_pokemon WHERE belongsto='$username' AND slot=0";
// run a query and output possible error for debugging purposes.
$res = mysql_query($sql) or trigger_error(mysql_error()." in ".$sql);
// keep getting the next row until there are no more to get
while($row = mysql_fetch_array( $result )) {
// Print out the contents of each row into a table
echo $row['pokemon'];
echo $row['id'];
}
Ответ №2:
Мне кажется, что окончательный запрос будет:
SELECT * FROM user_pokemon WHERE belongsto='NAME' AND (slot='0')'
где NAME — это имя, которое вы передаете. Если это так, в конце есть дополнительная одинарная кавычка. Я полагаю, вы получаете ошибку SQL?