我试图从MySQL表中选择数据,但我收到以下错误消息之一:
mysql_fetch_array()期望参数1是资源,给定布尔值
要么
mysqli_fetch_array()期望参数1为mysqli_result,给定布尔值
要么
在布尔/非对象上调用成员函数fetch_array()
这是我的代码:
$username = $_POST['username'];
$password = $_POST['password'];
$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');
while($row = mysql_fetch_array($result)) {
echo $row['FirstName'];
}
Run Code Online (Sandbox Code Playgroud)
这同样适用于代码
$result = mysqli_query($mysqli, 'SELECT ...');
// mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given
while( $row=mysqli_fetch_array($result) ) {
...
Run Code Online (Sandbox Code Playgroud)
和
$result = $mysqli->query($mysqli, 'SELECT ...');
// Call to a member function fetch_assoc() on a non-object
while( $row=$result->fetch_assoc($result) ) {
...
Run Code Online (Sandbox Code Playgroud)
和
$result = $pdo->query('SELECT ...', PDO::FETCH_ASSOC);
// Invalid …Run Code Online (Sandbox Code Playgroud) 所以我的代码是这个..
<?php
$password=(!isset($_POST['password']));
$username=(!isset($_POST['username']));
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$query = mysql_query ("SELECT * FROM tb_funcionario WHERE username='$username' and password='$password'");
$result = mysql_query($query);
var_dump($result);
$num_rows = $result->$num_rows;
if ($num_rows)
{
echo "username already exist";
}
else
{
$query = "INSERT INTO tb_funcionario (nome_funcionario, username, password) VALUES (
'$_POST[nome_funcionario]',
'$_POST[username]',
'$_POST[password]'
)";;
$result = mysql_query($query) or die (mysql_error());
}
mysql_query($query);
mysql_close($bd_con);
?>
Run Code Online (Sandbox Code Playgroud)
它总是给我"mysql_query()期望参数1是字符串,资源给定",我无法弄清楚如何解决它.
你能帮助我吗?
我正在尝试使用PHP登录系统,但是当我故意尝试使用不正确的凭据登录时,会出现以下错误消息:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in ...
当有人输入错误的凭据时,我想要回显的消息,但它出现在警告消息下方.这些是与导致警告消息出现的代码行关联的代码行:
$query = mysql_query("SELECT * FROM users WHERE username='$user'");
if ($numrows == 1){
$row = mysql_fetch_assoc($query);
$dbid = $row['id'];
$dbuser = $row['username'];
$dbpass = $row['password'];
$dbactive = $row['active'];
Run Code Online (Sandbox Code Playgroud)
这是实际的代码行本身:
$numrows = mysql_num_rows($query);
Run Code Online (Sandbox Code Playgroud)
我可能需要编辑问题以添加更多行代码,如果我这样做,请告诉我.此问题可能是这篇文章的可能重复:警告:mysql_fetch_array()期望参数1是资源,给出布尔值,但我不太确定.但请告诉我可能导致出现此警告消息的原因.