Php mysql\u fetch\u array()/mysql\u fetch\u assoc()/mysql\u fetch\u row()/mysql\u num\u rows等。。。期望参数1是资源

Php mysql\u fetch\u array()/mysql\u fetch\u assoc()/mysql\u fetch\u row()/mysql\u num\u rows等。。。期望参数1是资源,php,mysql,Php,Mysql,我试图从MySQL表中选择数据,但收到以下错误消息之一: mysql_fetch_array()希望参数1是给定的资源布尔值 这是我的代码: $username = $_POST['username']; $password = $_POST['password']; $result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username'); while($row = mysql_fetch_array($resul

我试图从MySQL表中选择数据,但收到以下错误消息之一:

mysql_fetch_array()希望参数1是给定的资源布尔值

这是我的代码:

$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'];
}

查询可能由于各种原因而失败,在这种情况下,mysql_*和mysqli扩展都将从各自的查询函数/方法返回
false
。您需要测试该错误条件并相应地处理它

注意和已在php版本7中删除

检查
$result
,然后将其传递给
mysql\u fetch\u数组
。您会发现它是
false
,因为查询失败。有关可能的返回值以及如何处理它们的建议,请参阅文档

$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'");

if($result === FALSE) { 
    die(mysql_error()); // TODO: better error handling
}

while($row = mysql_fetch_array($result))
{
    echo $row['FirstName'];
}

程序风格:

oo风格:

使用准备好的声明:



这些示例仅说明应该做什么(错误处理),而不是如何做。输出HTML时不应使用生产代码,否则它(至少)会生成无效的HTML。此外,数据库错误消息不应显示给非管理员用户,因为它是错误的。

查询可能会由于各种原因而失败,在这种情况下,mysql_*和mysqli扩展将从各自的查询函数/方法返回
false
。您需要测试该错误条件并相应地处理它

注意和已在php版本7中删除

检查
$result
,然后将其传递给
mysql\u fetch\u数组
。您会发现它是
false
,因为查询失败。有关可能的返回值以及如何处理它们的建议,请参阅文档

$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'");

if($result === FALSE) { 
    die(mysql_error()); // TODO: better error handling
}

while($row = mysql_fetch_array($result))
{
    echo $row['FirstName'];
}

程序风格:

oo风格:

使用准备好的声明:



这些示例仅说明应该做什么(错误处理),而不是如何做。输出HTML时不应使用生产代码,否则它(至少)会生成无效的HTML。此外,数据库错误消息不应该显示给非管理员用户,因为它是这样的。

$username
周围加上引号。与数值相反,字符串值必须用引号括起来

$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'");

此外,如果不使用通配符,那么使用
LIKE
条件也没有意义:如果需要精确匹配,请使用
=
而不是
LIKE
$username
周围加引号。与数值相反,字符串值必须用引号括起来

$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'");

此外,如果不使用通配符,那么使用
LIKE
条件也没有意义:如果需要精确匹配,请使用
=
而不是
LIKE

此处发生的错误是由于使用单引号(
')
)。您可以这样放置查询:

mysql_query("
SELECT * FROM Users 
WHERE UserName 
LIKE '".mysql_real_escape_string ($username)."'
");
它使用
mysql\u real\u escape\u string
来防止SQL注入。
虽然我们应该在升级版的PHP(PHP5.5.0及更高版本)中使用MySQLi或PDO_MYSQL扩展,但对于较旧的版本,
MYSQL_real_escape_string
就可以了。

这里发生的错误是由于使用了单引号(
)。您可以这样放置查询:

mysql_query("
SELECT * FROM Users 
WHERE UserName 
LIKE '".mysql_real_escape_string ($username)."'
");
它使用
mysql\u real\u escape\u string
来防止SQL注入。 虽然我们应该对升级版的PHP(PHP5.5.0及更高版本)使用MySQLi或PDO_MYSQL扩展,但对于较旧版本的
MySQLi\u real\u escape\u string
就可以了。

As,查询可能会失败。使用此代码可以获取查询错误或正确结果:

$username = $_POST['username'];
$password = $_POST['password'];

$result = mysql_query("
SELECT * FROM Users 
WHERE UserName LIKE '".mysql_real_escape_string($username)."'
");

if($result)
{
    while($row = mysql_fetch_array($result))
    {
        echo $row['FirstName'];
    }
} else {
    echo 'Invalid query: ' . mysql_error() . "\n";
    echo 'Whole query: ' . $query; 
}
有关更多信息,请参阅

实际错误是单引号,因此未分析变量
$username
。但是您应该真正使用
mysql\u real\u escape\u string($username)
来避免SQL注入。

因为,查询可能会失败。使用此代码可以获取查询错误或正确结果:

$username = $_POST['username'];
$password = $_POST['password'];

$result = mysql_query("
SELECT * FROM Users 
WHERE UserName LIKE '".mysql_real_escape_string($username)."'
");

if($result)
{
    while($row = mysql_fetch_array($result))
    {
        echo $row['FirstName'];
    }
} else {
    echo 'Invalid query: ' . mysql_error() . "\n";
    echo 'Whole query: ' . $query; 
}
有关更多信息,请参阅


实际错误是单引号,因此未分析变量
$username
。但是您应该真正使用
mysql\u real\u escape\u string($username)
来避免SQL注入。

您的代码应该是这样的

$username = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM Users WHERE UserName LIKE '$username'";
echo $query;
$result = mysql_query($query);

if($result === FALSE) {
    die(mysql_error("error message for the user")); 
}

while($row = mysql_fetch_array($result))
{
    echo $row['FirstName'];
}

完成后,您将在屏幕上打印查询。在您的服务器上尝试此查询,并查看它是否生成所需的结果。大多数情况下,错误出现在查询中。代码的其余部分是正确的。

您的代码应该是这样的

$username = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM Users WHERE UserName LIKE '$username'";
echo $query;
$result = mysql_query($query);

if($result === FALSE) {
    die(mysql_error("error message for the user")); 
}

while($row = mysql_fetch_array($result))
{
    echo $row['FirstName'];
}
$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');
完成后,您将在屏幕上打印查询。在您的服务器上尝试此查询,并查看它是否生成所需的结果。大多数情况下,错误出现在查询中。代码的其余部分是正确的

$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');
使用单引号定义字符串,PHP不解析单引号分隔的字符串。为了获得变量插值,需要使用双引号或字符串串联(或两者的组合)。有关更多信息,请参阅

您还应该检查mysql\u查询是否返回了有效的结果资源,否则fetch\u*、num\u rows等将无法处理结果,因为这不是结果!即:

$username = $_POST['username'];
$password = $_POST['password'];
$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');

if( $result === FALSE ) {
   trigger_error('Query failed returning error: '. mysql_error(),E_USER_ERROR);
} else {
   while( $row = mysql_fetch_array($result) ) {
      echo $row['username'];
   }
}
了解更多信息

使用单引号定义字符串,PHP不解析单引号分隔的字符串。为了获得变量插值,需要使用双引号或字符串串联(或两者的组合)。有关更多信息,请参阅

您还应该检查mysql\u查询是否返回了有效的结果资源,否则fetch\u*、num\u rows等将无法处理结果,因为这不是结果!即:

$username = $_POST['username'];
$password = $_POST['password'];
$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');

if( $result === FALSE ) {
   trigger_error('Query failed returning error: '. mysql_error(),E_USER_ERROR);
} else {
   while( $row = mysql_fetch_array($result) ) {
      echo $row['username'];
   }
}

有关详细信息。

请检查是否未选择数据库,因为有时未选择数据库

检查

mysql_select_db('database name ')or DIE('Database name is not available!');
MySQL查询之前 然后进入下一步

$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');

f($result === FALSE) {
    die(mysql_error());
请检查一下数据
$username = $_POST['username'];
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '%$username%'") or die(mysql_error());

while($row = mysql_fetch_array($result))
{
    echo $row['FirstName'];
}
$username = $_POST['username'];
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM Users WHERE UserName ='$username'");

while($row = mysql_fetch_array($result))
{
    echo $row['FirstName'];
}
$username = $_POST['username'];
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM Users WHERE UserName =`$usernam`");
$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '%$username%'");
$query = "SELECT Name,Mobile,Website,Rating FROM grand_table order by 4";

while( $data = mysql_fetch_array($query))
{
    echo("<tr><td>$data[0]</td><td>$data[1]</td><td>$data[2]</td><td>$data[3]</td></tr>");      
}
<?php
    $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'];
    }
?>
mysql_query("SELECT * FROM Users WHERE UserName ='".$username."'");
$results = mysql_query($connt, "SELECT * FROM users");
$username = $_POST['username'];
$password = $_POST['password'];
$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');
if(!$result)
{
     echo "error executing query: "+mysql_error(); 
}else{
       while($row = mysql_fetch_array($result))
       {
         echo $row['FirstName'];
       }
}
include_once(db_connetc.php');
// Create a connection
$connection = mysql_connect("localhost", "root", "") or die(mysql_error());

//Select database
mysql_select_db("db_name", $connection) or die(mysql_error());

$employee_query = "SELECT * FROM employee WHERE `id` ='".$_POST['id']."'";

$employee_data = mysql_query($employee_query);

if (mysql_num_rows($employee_data) > 0) {

    while ($row = mysql_fetch_array($employee_data)){
        echo $row['emp_name'];
    } // end of while loop
} // end of if
   $username = $_POST['uname'];

   $password = $_POST['pass'];

  $result = mysql_query('SELECT * FROM userData WHERE UserName LIKE $username');

if(!empty($result)){

    while($row = mysql_fetch_array($result)){
        echo $row['FirstName'];
     }
}
<?php
      $username = $_POST['username'];
       $password = $_POST['password'];

     $result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '".mysql_real_escape_string($username)."'")or die(mysql_error());
while($row=mysql_fetch_array($result))
  {
 echo $row['FirstName'];
 }
 ?>
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        // code here 
    }
} else {
    echo "0 results";
}
$conn->close();
?>
$username = $_POST['username'];
$password = $_POST['password'];
$result = mysqli_query('SELECT * FROM Users WHERE UserName LIKE $username');

if($result){
while($row = mysqli_fetch_array($result))
{
    echo $row['FirstName'];
}
}
error_reporting(E_ALL);
ini_set('display_errors', 1);
$sql = "SELECT `foo` FROM `weird_words` WHERE `definition` = ?";
$query = $mysqli->prepare($sql)); // assuming $mysqli is the connection
$query->bind_param('s', $definition);
$query->execute();
$sql = "SELECT `foo` FROM `weird_words` WHERE `definition` = ?";
if($query = $mysqli->prepare($sql)) { // assuming $mysqli is the connection
    $query->bind_param('s', $definition);
    $query->execute();
    // any additional code you need would go here.
} else {
    $error = $mysqli->errno . ' ' . $mysqli->error; // 1054 Unknown column 'foo' in 'field list'
    // handle error
}
error_reporting(E_ALL);

$pdo = new PDO("mysql:host=localhost;dbname=test", "test","");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$result = $pdo->query('select emal from users');
$data = $result->fetchAll();
error_reporting(E_ALL);

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli('localhost', 'test', '', 'test');

$result = $mysqli->query('select emal from users');
$data = $result->fetch_all();