Мой выберите:Mysql - Как запросить mysqli_multi_query() возвращает всю строку
$query = "SELECT * FROM user where userID='1';";
в моей mysqli_multi_query() не возвращает всю строку, он возвращает только один столбец.
Это мой результат:
1-----------------book1 book3 book4
Но это то, что я хочу:
1 John Jan-26 4-----------------book1 book3 book4
Вот мои две таблицы:
Table1: user
| userID | name | date | booksRead
---------------------------------------------------------------------
| 1 | John | Jan-26 | 4
| 2 | Andy | Jan-27 | 7
| 3 | Mark | Jan-28 | 8
Table 2: booksCheckedOut
row | userID | book | date
-------------------------------------------------
1 | 1 | book1 | Jan-26
2 | 2 | book2 | Jan-27
3 | 1 | book3 | Jan-28
4 | 1 | book4 | Jan-29
Вот мой php-код:
<?php
$mysqli = new mysqli("localhost","root","password","database_name");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT * FROM user where userID='1';";
$query .= "SELECT book FROM booksCheckedOut where userID='1';";
if ($mysqli->multi_query($query)) { // execute multi query
do {
if ($result = $mysqli->store_result()) { // store first result
while ($row = $result->fetch_row()) {
printf("%s\n", $row[0]);
}
//$result->close();
}
if ($mysqli->more_results()) { /* print divider */
printf("-----------------\n");
}
} while ($mysqli->next_result());
}
$mysqli->close();
?>
Кто-нибудь знает, что я делаю неправильно?
Заранее благодарен!
Ваш идентификатор пользователя, вероятно, и целочисленный в базе данных, и не обязательно должен быть инкапсулирован кавычками в вашем запросе. Поэтому измените '' 1'' на '1' в запросе =) – RichardBernards
@RichardBernards Получил это, спасибо! – hmzfier