Всё о языках программирования, таких как PHP и Perl; вебсерверах, CGI, базах данных и языке SQL.
Все про мови програмування, такі як PHP та Perl; вебсервери, CGI, бази даних та мову SQL.
sovkavert
Posts: 2 Joined: Tue May 28, 2019 5:50 am
Gender:
User Agent:
Post
by sovkavert » Sun Jun 30, 2019 12:09 am
Подключаюсь вот так:
Code: Select all
$mysqli = mysqli_connect('mysql.zzz.com.ua','пользователь','пароль');
if (mysqli_connect_errno()) {
echo "Подключение невозможно: ".mysqli_connect_error();
}
mysqli_select_db('sovkavert', $mysqli);
$res = mysqli_query($mysqli, "SELECT * FROM 'download'");
$row = mysqli_fetch_assoc($res);
print_r( $row);
echo mysqli_errno();
Ничего не выводит. Если добавить для теста
выводит как положено: qqq1 - значит подключение есть- в чем проблема? Как решить?
sovkavert
skyweb
Posts: 259 Joined: Tue Aug 22, 2017 3:29 pm
Location: Харьков
Gender:
User Agent:
Post
by skyweb » Mon Jul 01, 2019 8:50 pm
Никогда не видел чтобы имя таблицы экранировали кавычками. Это значения полей так экранируют. Или уберите кавычки или сделайте нормальное экранирование:
Code: Select all
SELECT * FROM download
SELECT * FROM `download`
skyweb
sovkavert
Posts: 2 Joined: Tue May 28, 2019 5:50 am
Gender:
User Agent:
Post
by sovkavert » Mon Jul 01, 2019 11:33 pm
skyweb wrote: Никогда не видел чтобы имя таблицы экранировали кавычками. Это значения полей так экранируют. Или уберите кавычки или сделайте нормальное экранирование:
Code: Select all
SELECT * FROM download
SELECT * FROM `download`
Благодарю исправил это еще
Code: Select all
mysqli_select_db('sovkavert', $mysqli);
заменил на
Code: Select all
mysqli_select_db($mysqli,'sovkavert' );
и пошло дело.
Ошибки не выводит, от того пришлось париться. Воистину брошюрка "Полный курс PHP" и 5-томник "Как найти пропущенную запятую"
sovkavert
skyweb
Posts: 259 Joined: Tue Aug 22, 2017 3:29 pm
Location: Харьков
Gender:
User Agent:
Post
by skyweb » Tue Jul 02, 2019 5:07 am
Пробуйте оборачивать свои запросы во время процесса разработки в try...catch, что-то вроде
Code: Select all
$query = "SELECT * FROM 'download';"; // 100% неправильный запрос
$result = mysqli_query($mysqli, $query);
if (mysqli_errno($mysqli)) {
try {
throw new Exception(
'MySQL error ' . mysqli_error($mysqli) . ' Query: ' . $query,
mysqli_errno($mysqli)
);
} catch (Exception $e) {
$msg = 'Error No: ' . $e->getCode() . ' : ' . $e->getMessage() . '<br />';
$msg .= nl2br($e->getTraceAsString());
die($msg);
}
}
Сэкономит и время и нервы.
skyweb