【问题标题】:Create variable from data pulled from database从数据库中提取的数据创建变量
【发布时间】:2015-07-11 08:48:43
【问题描述】:

我正在使用一个名为 users 的 mySQL 表,其中包含诸如“用户 ID、用户名和密码”之类的字段。
当用户登录时,表单将“用户名”和“密码”条目传递到 authentication.php 文件中,然后该文件执行
SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword

我想运行一个 PHP 查询以在表中创建一个等于“userID”的新变量,其中“username”等于一个名为 $username 的变量。然后创建新变量如
$_SESSION["userID"] = $userID

如何从提取的 userID 数据创建另一个变量。

以下脚本行用于检查用户名和密码,然后从中创建会话变量:

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);

// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
echo "Welcome back ";
echo $myusername;
echo "!";

// Create session vars $myusername, $mypassword and redirect to file "success.php"
$_SESSION["myusername"] = $myusername;
$_SESSION["mypassword"] = $mypassword; 
}
else {
echo "Wrong Username or Password";
}

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    为此,您需要在 while 循环中迭代您的结果。 mysql_fetch_array 将执行此操作。以下代码将创建一个会话对象。

    $result = mysql_query($sql);
        while ($row = mysql_fetch_array($result)) {
            echo $row['userid'];
        }
    

    【讨论】:

    • 当我使用它时,我收到此错误mysql_fetch_array() expects parameter 1 to be resource, string given
    • 对不起,我没有注意到 $sql 是一个字符串。您需要将其转换为 db 对象。 mysql_query 会这样做
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多