Выбрать из базы данных ошибок

Я хочу выбрать некоторую информацию из моей базы данных под названием Catalogonline и отобразить ее на HTML-странице. Но теперь мой php-код показывает эти ошибки

Предупреждение: mysqli_select_db () ожидает ровно 2 параметра, 1 указан в
C: \ wamp \ www \ insert12.php в строке 14

А также

Предупреждение: mysqli_query () ожидает, что параметр 1 будет mysqli, задана строка
в C: \ wamp \ www \ insert12.php в строке 15

А также

Предупреждение: mysqli_error () ожидает ровно 1 параметр, 0 указано в
C: \ wamp \ www \ insert12.php в строке 18 Не удалось получить данные:

Мой код

<?php
$dbhost = 'localhost';
$dbuser = 'Florin';
$dbpass = '######';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysqli_error());
}
$sql = 'SELECT id, Username,
Signup_Date, E-mail
FROM membri';

mysqli_select_db('catalogonline');
$retval = mysqli_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysqli_error());
}
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
echo "Tutorial ID :{$row['id']}  <br> ".
"Title: {$row['Username']} <br> ".
"Author: {$row['Signup_Date']} <br> ".
"Submission Date : {$row['E-mail']} <br> ".
"--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysqli_close($conn);
?>

-1

Решение

mysql_select_db ожидает два параметра, но вы передаете только один.

Правильное использование:

mysqli_select_db(connection,dbname);

попытаться изменить на

mysqli_select_db($conn,'catalogonline');

В
mysqli_query ($ sql, $ conn);

попробуйте изменить на:

mysqli_query( $conn, $sql );

В
mysqli_error ();

попробуйте изменить на:

mysqli_error($conn);

Эти проблемы возникают, потому что когда вы используете команды mysqli, вы должны передать объект соединения (в вашем случае $ conn), чтобы он мог определить, в каком соединении вы будете выполнять команды.

2

Другие решения

Есть несколько вещей не так с вашим кодом. Это поздний ответ, я представляю следующее, указывая, что на самом деле происходит.

mysqli_select_db('catalogonline'); — требуется, чтобы соединение с БД передавалось как первый параметр.

mysqli_select_db($conn, 'catalogonline');

или просто используйте сразу все четыре параметра:

$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $db);

Тогда эти переменные параметров в вашем запросе mysqli_query( $sql, $conn ) перевернуты

Соединение приходит первым mysqli_query( $conn, $sql )

MYSQL_ASSOC это должно быть MYSQLI_ASSOC с добавленным I, Вы не можете смешивать mysql_ а также mysqli_ функционирует вместе.

mysqli_error() требуется соединение должно быть пройдено mysqli_error($conn)

string mysqli_error ( mysqli $link )

Тогда в вашем запросе E-mail колонка. MySQL интерпретирует это как «E минус mail «, думая, что вы хотите, чтобы он выполнял математику. Он должен быть либо завернут в галочки, либо переименовать его либо с использованием подчеркивания E_mail или одним словом Email,

<?php
$dbhost = 'localhost';
$dbuser = 'Florin';
$dbpass = 'atestat';
$db = 'catalogonline';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $db);
if(! $conn )
{
die('Could not connect: ' . mysqli_error($conn));
}
$sql = 'SELECT id, Username,
Signup_Date, `E-mail`
FROM membri';

$retval = mysqli_query( $conn, $sql  );
if(! $retval )
{
die('Could not get data: ' . mysqli_error($conn));
}
while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC))
{
echo "Tutorial ID :{$row['id']}  <br> ".
"Title: {$row['Username']} <br> ".
"Author: {$row['Signup_Date']} <br> ".
"Submission Date : {$row['E-mail']} <br> ".
"--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysqli_close($conn);
?>
3

По вопросам рекламы [email protected]