PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Описание: mysqli_query
Поиск в теме | Версия для печати
yogeswar
Отправлено: 21 Сентября, 2017 - 08:43:16
Гость
Покинул форум
Сообщений всего: 105
Дата рег-ции: Сент. 2012
Откуда: Екатеринбург
Помог: 0 раз(а)
Здравствуйте!
Непонятный случай! Команды списывал с вашего сайта!Хочу получить массив.
PHP:
скопировать код в буфер обмена
$link = new mysqli( 'localhost' , 'root' , '' , 'repetitorstvo1' ) ;
if ( $link -> connect_error ) {
die ( 'Error : (' . $link -> connect_errno . ') ' . $link -> connect_error ) ; }
$sql3 = "SELECT * FROM catalog1 WHERE familiy = '" . $a [ 1 ] . "' and
mobil_tel = '" . $a [ 7 ] . "'" ;
Выдаёт ошибку
Fatal error: Uncaught Error: Call to undefined function mysqli_fetch_array() in C:\sayt\data\htdocs\save_rep1.php:437
Stack trace:
#0 {main}
thrown in C:\sayt\data\htdocs\save_rep1.php on line 437
Строка 437 - это как раз
Если я ещё напишу, как на вашем сайте
то даже ошибки не выдаёт. Вообще не читает. В чём проблема?
andrewkard
Отправлено: 21 Сентября, 2017 - 12:59:41
Участник
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
Помог: 30 раз(а)
yogeswar пишет: Команды списывал с вашего сайта!Хочу получить массив.
Вы уверены?
http://www.php.su/mysqli_query
yogeswar пишет: $link = new mysqli('localhost', 'root', '', 'repetitorstvo1');
if ($link->connect_error) {
die('Error : ('. $link->connect_errno .') '. $link->connect_error);
}
$sql3 = "SELECT * FROM catalog1 WHERE familiy = '".$a[1]."' and
mobil_tel = '".$a[7]."'";
$result = mysqli_query($link, $sql3);
Цитата:
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
....
/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result = $mysqli->query ("SELECT * FROM City", MYSQLI_USE_RESULT)) {
/* Note, that we can't execute any functions which interact with the
server until result set was closed. All calls will return an
'out of sync' error */
if (!$mysqli->query("SET @a:='this will not work'")) {
printf("Error: %s\n", $mysqli->error);
}
$result->close();
}
yogeswar
Отправлено: 21 Сентября, 2017 - 14:16:51
Гость
Покинул форум
Сообщений всего: 105
Дата рег-ции: Сент. 2012
Откуда: Екатеринбург
Помог: 0 раз(а)
Переписал полностью вашу "Цитата:".
PHP:
скопировать код в буфер обмена
$mysqli = new mysqli( "localhost" , "my_user" , "my_password" , "world" ) ;
....
/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
/* Note, that we can't execute any functions which interact with the
server until result set was closed. All calls will return an
'out of sync' error */
if ( ! $link -> query ( "SET @a:='this will not work'" ) ) {
printf ( "Error: %s \n " , $link -> error ) ; }
$result -> close ( ) ;
}
Выдаёт:
Error: Commands out of sync; you can't run this command now
А хотелось бы получить массив и с ним работать
Ничего не выдавало и такое:
andrewkard
Отправлено: 21 Сентября, 2017 - 14:28:47
Участник
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
Помог: 30 раз(а)
не смутило? Это было сокращение...
(Добавление)
PDO как по мне удобнее, пробуйте:
PHP:
скопировать код в буфер обмена
$mysqli = new mysqli( 'localhost' , 'root' , '' , 'repetitorstvo1' ) ;
$query = "SELECT * FROM catalog1 WHERE familiy = ? and mobil_tel = ?" ;
$stmt = $mysqli -> prepare ( $query ) ;
$stmt -> bind_param ( "ss" , $a [ 1] , $a [ 7] ) ;
$stmt -> execute ( ) ;
$data = [ ] ;
$result = $stmt -> get_result ( ) ;
while ( $row = $result -> fetch_assoc ( ) )
{
$data [ ] = $row ;
}
код не проверял(Отредактировано автором: 21 Сентября, 2017 - 14:31:08)
yogeswar
Отправлено: 21 Сентября, 2017 - 14:44:19
Гость
Покинул форум
Сообщений всего: 105
Дата рег-ции: Сент. 2012
Откуда: Екатеринбург
Помог: 0 раз(а)
Попробовал. Единственно что делал, это переправлял $mysqli на $link, так как у меня чтение базы такое:
PHP:
скопировать код в буфер обмена
$link = new mysqli( 'localhost' , 'root' , '' , 'repetitorstvo1' ) ;
if ( $link -> connect_error ) {
die ( 'Error : (' . $link -> connect_errno . ') ' . $link -> connect_error ) ; }
То есть списал всё по-вашему:
PHP:
скопировать код в буфер обмена
$query = "SELECT * FROM catalog1 WHERE familiy = :familiy and mobil_tel = :tel" ;
if ( ! ( $stmt = $link -> prepare ( $query ) ) ) {
echo "Не удалось подготовить запрос: (" . $link -> errno . ") " . $link -> error ;
}
if ( ! $stmt -> execute ( array ( ':familiy' => $a [ 1 ] , ':tel' => $a [ 7
] ) ) ) { echo "Не удалось выполнить запрос: (" . $stmt -> errno . ") " . $stmt -> error ;
}
if ( ! ( $res = $stmt -> get_result ( ) ) ) {
echo "Не удалось получить результат: (" . $stmt -> errno . ") " . $stmt -> error ;
}
В этом случае даже ошибки не выдаёт. Просто не читает.
(Добавление)
Списал всё у andrewkard , тоже просто не читает: переход на пустую страницу.
andrewkard
Отправлено: 21 Сентября, 2017 - 15:01:23
Участник
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
Помог: 30 раз(а)
yogeswar пишет: В этом случае даже ошибки не выдаёт.
это не правильный, не стой ветки взял, этот пробуйте:
PHP:
скопировать код в буфер обмена
$mysqli = new mysqli( 'localhost' , 'root' , '' , 'repetitorstvo1' ) ;
$query = "SELECT * FROM catalog1 WHERE familiy = ? and mobil_tel = ?" ;
$stmt = $mysqli -> prepare ( $query ) ;
$stmt -> bind_param ( "ss" , $a [ 1] , $a [ 7] ) ;
$stmt -> execute ( ) ;
$data = [ ] ;
$result = $stmt -> get_result ( ) ;
while ( $row = $result -> fetch_assoc ( ) )
{
$data [ ] = $row ;
}
(Отредактировано автором: 21 Сентября, 2017 - 15:07:00)
yogeswar
Отправлено: 21 Сентября, 2017 - 15:07:52
Гость
Покинул форум
Сообщений всего: 105
Дата рег-ции: Сент. 2012
Откуда: Екатеринбург
Помог: 0 раз(а)
Списал всё у
andrewkard , но уже переправил $mysqli на $link.
PHP:
скопировать код в буфер обмена
$query = "SELECT * FROM catalog1 WHERE familiy = '" . $a [ 1 ] . "' and mobil_tel = '" . $a [ 7 ] . "'" ;
$stmt = $link -> prepare ( $query ) ;
$stmt -> bind_param ( "ss" , $a [ 1] , $a [ 7] ) ;
$stmt -> execute ( ) ;
$data = [ ] ;
$result = $stmt -> get_result ( ) ;
while ( $row = $result -> fetch_assoc ( ) )
{
$data [ ] = $row ;
}
Опять ничего - переход на пустую страницу
andrewkard
Отправлено: 21 Сентября, 2017 - 15:12:12
Участник
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
Помог: 30 раз(а)
yogeswar пишет: Опять ничего - переход на пустую страницу
как можно так списывать?
andrewkard пишет: $query = "SELECT * FROM catalog1 WHERE familiy = ? and mobil_tel = ?";
yogeswar пишет: $query = "SELECT * FROM catalog1 WHERE familiy = '".$a[1]."' and mobil_tel = '".$a[7]."'";
(Добавление)
а так?
PHP:
скопировать код в буфер обмена
$mysqli = new mysqli( 'localhost' , 'root' , '' , 'repetitorstvo1' ) ;
$query = "SELECT * FROM catalog1 WHERE 1=1" ;
$res = $mysqli -> query ( $query ) ;
$row = $res -> fetch_assoc ( ) ;
yogeswar
Отправлено: 21 Сентября, 2017 - 15:17:36
Гость
Покинул форум
Сообщений всего: 105
Дата рег-ции: Сент. 2012
Откуда: Екатеринбург
Помог: 0 раз(а)
Списал всё как у
andrewkard :
PHP:
скопировать код в буфер обмена
$mysqli = new mysqli( 'localhost' , 'root' , '' , 'repetitorstvo1' ) ;
$query = "SELECT * FROM catalog1 WHERE familiy = ? and mobil_tel = ?" ;
$stmt = $mysqli -> prepare ( $query ) ;
$stmt -> bind_param ( "ss" , $a [ 1] , $a [ 7] ) ;
$stmt -> execute ( ) ;
$data = [ ] ;
$result = $stmt -> get_result ( ) ;
while ( $row = $result -> fetch_assoc ( ) )
{
$data [ ] = $row ;
}
В ответ - пустая страница. Даже ошибок не выдаёт.
(Добавление)
Скопировал точно:
PHP:
скопировать код в буфер обмена
$mysqli = new mysqli( 'localhost' , 'root' , '' , 'repetitorstvo1' ) ;
$query = "SELECT * FROM catalog1 WHERE 1=1" ;
$res = $mysqli -> query ( $query ) ;
$row = $res -> fetch_assoc ( ) ;
В ответ - ничего! Полностью не знаю что делать!
(Добавление)
Вот когда andrewkard писал свою "Цитата:" , то хотя бы предыдущие команды проходили. Правда выдавало
Error: Commands out of sync; you can't run this command now
andrewkard
Отправлено: 21 Сентября, 2017 - 15:36:35
Участник
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
Помог: 30 раз(а)
yogeswar пишет: Полностью не знаю что делать!
прикрепите ответ phpinfo();
yogeswar
Отправлено: 21 Сентября, 2017 - 15:43:02
Гость
Покинул форум
Сообщений всего: 105
Дата рег-ции: Сент. 2012
Откуда: Екатеринбург
Помог: 0 раз(а)
отправил
(Отредактировано автором: 21 Сентября, 2017 - 16:04:23)
andrewkard
Отправлено: 21 Сентября, 2017 - 15:45:37
Участник
Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014
Помог: 30 раз(а)
вроде ж должно работать, коннект правильный, база данных та?
так еще пробуйте
PHP:
скопировать код в буфер обмена
/* проверка соединения */
}
$data = [ ] ;
$query = "SELECT * FROM catalog1 WHERE 1=1" ;
/* извлечение ассоциативного массива */
$data [ ] = $row ;
}
/* удаление выборки */
}
/* закрытие соединения */
yogeswar
Отправлено: 21 Сентября, 2017 - 18:24:15
Гость
Покинул форум
Сообщений всего: 105
Дата рег-ции: Сент. 2012
Откуда: Екатеринбург
Помог: 0 раз(а)
Я не такой сильный программист. Поэтапно, без программистского слэнга ("поюзай" и так далее), какой командой включить вывод ошибок.
У меня
но эта штука работает погано.
Как посмотреть логи сервера?
Поиск в теме | Версия для печати
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
Powered by ExBB FM 1.0 RC1. InvisionExBB