Select 来自数据库错误
Select from Database errors
我想 select 我的数据库 Catalogonline 中的一些信息并将其显示在 Html Page.But 现在我的 php 代码显示此错误
Warning: mysqli_select_db() expects exactly 2 parameters, 1 given in
C:\wamp\www\insert12.php on line 14
和
Warning: mysqli_query() expects parameter 1 to be mysqli, string given
in C:\wamp\www\insert12.php on line 15
和
Warning: mysqli_error() expects exactly 1 parameter, 0 given in
C:\wamp\www\insert12.php on line 18 Could not get data:
我的密码是
<?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);
?>
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),所以它能够识别你在哪个连接中'将执行命令。
您的代码有一些问题。这是一个迟到的答案,我提交以下内容,说明实际情况。
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 minus 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);
?>
我想 select 我的数据库 Catalogonline 中的一些信息并将其显示在 Html Page.But 现在我的 php 代码显示此错误
Warning: mysqli_select_db() expects exactly 2 parameters, 1 given in C:\wamp\www\insert12.php on line 14
和
Warning: mysqli_query() expects parameter 1 to be mysqli, string given in C:\wamp\www\insert12.php on line 15
和
Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\wamp\www\insert12.php on line 18 Could not get data:
我的密码是
<?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);
?>
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),所以它能够识别你在哪个连接中'将执行命令。
您的代码有一些问题。这是一个迟到的答案,我提交以下内容,说明实际情况。
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 minus 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);
?>