私信  •  关注

Peter Mortensen Leo

Peter Mortensen Leo 最近创建的主题
Peter Mortensen Leo 最近回复了
10 年前
回复了 Peter Mortensen Leo 创建的主题 » mysql error mysqli_num_rows()希望参数1在数据更新期间是mysqli_result[重复]

先检查你的连接。

如果要从数据库中获取确切的值,则应编写:

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

或者你想把 LIKE 值的类型,然后您应该写:

$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '%$username%'");
10 年前
回复了 Peter Mortensen Leo 创建的主题 » mysql error mysqli_num_rows()希望参数1在数据更新期间是mysqli_result[重复]

首先,检查与数据库的连接。连接是否成功?

如果完成了,那么在那之后我已经写了这段代码,并且它工作得很好:

if (isset($_GET['q1mrks']) && isset($_GET['marks']) && isset($_GET['qt1'])) {
    $Q1mrks = $_GET['q1mrks'];
    $marks = $_GET['marks'];
    $qt1 = $_GET['qt1'];

    $qtype_qry = mysql_query("
        SELECT *
        FROM s_questiontypes
        WHERE quetype_id = '$qt1'
    ");
    $row = mysql_fetch_assoc($qtype_qry);
    $qcode = $row['quetype_code'];

    $sq_qry = "
        SELECT *
        FROM s_question
        WHERE quetype_code = '$qcode'
        ORDER BY RAND() LIMIT $Q1mrks
    ";
    $sq_qry = mysql_query("
        SELECT *
        FROM s_question
        WHERE quetype_code = '$qcode'
        LIMIT $Q1mrks
    ");
    while ($qrow = mysql_fetch_array($sq_qry)) {
        $qm = $qrow['marks'] . "<br />";
        $total += $qm . "<br />";
    }
    echo $total . "/" . $marks;
}
10 年前
回复了 Peter Mortensen Leo 创建的主题 » mysql error mysqli_num_rows()希望参数1在数据更新期间是mysqli_result[重复]
<?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."'");
10 年前
回复了 Peter Mortensen Leo 创建的主题 » mysql error mysqli_num_rows()希望参数1在数据更新期间是mysqli_result[重复]

可能有两个原因:

  1. 在调用mysql_query函数之前,是否打开了与数据库的连接?我在你的代码里看不到。在进行查询之前使用mysql_connect。见 php.net/manual/en/function.mysql-connect.php

  2. 变量 用户名 在单引号字符串中使用,因此其值不会在查询中计算。查询肯定会失败。

第三,查询结构易于 SQL injection . 您可以使用准备好的声明来避免这种安全威胁。

10 年前
回复了 Peter Mortensen Leo 创建的主题 » mysql error mysqli_num_rows()希望参数1在数据更新期间是mysqli_result[重复]

请尝试以下代码。它可能工作得很好。

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

while($row = mysql_fetch_array($result))
{
    echo $row['FirstName'];
}
10 年前
回复了 Peter Mortensen Leo 创建的主题 » mysql error mysqli_num_rows()希望参数1在数据更新期间是mysqli_result[重复]

如果您在这里尝试了所有操作,但都不起作用,则可能需要检查mysql数据库排序规则。我的被设置为瑞典校勘。然后我把它改成 utf8_general_ci 一切都很顺利。

我希望这对某人有帮助。