Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php变量中的mysql查询结果_Php_Mysql - Fatal编程技术网

php变量中的mysql查询结果

php变量中的mysql查询结果,php,mysql,Php,Mysql,有没有办法将mysql结果存储在php变量中?谢谢 $query = "SELECT username,userid FROM user WHERE username = 'admin' "; $result=$conn->query($query); 然后我想打印查询中选择的用户ID 当然有。如果您使用mysql,请查看mysql\u query,以及mysql\u fetch\u row。 示例来自: 您需要研究几个mysql函数 mysql_query(“这里的查询字符串”):返

有没有办法将mysql结果存储在php变量中?谢谢

$query = "SELECT username,userid FROM user WHERE username = 'admin' ";
$result=$conn->query($query);

然后我想打印查询中选择的用户ID

当然有。如果您使用mysql,请查看
mysql\u query
,以及
mysql\u fetch\u row

示例来自:


您需要研究几个mysql函数

  • mysql_query(“这里的查询字符串”):返回一个资源
  • mysql_fetch_array(上面获得的资源):获取一行并返回一个带有数字和关联(以列名为键)索引的数组。通常,您需要遍历结果,直到表达式的计算结果为
    false
    值。如下图所示:

    while ($row = mysql_fetch_array($query)){
        print_r $row;
    }
    请参阅下面提供的手册链接,他们有更多选项来指定请求阵列的格式。例如,您可以使用
    mysql\u fetch\u assoc(..)
    获取关联数组中的行

链接:

就你而言

$query = "SELECT username,userid FROM user WHERE username = 'admin' ";
$result=mysql_query($query);
if (!$result){
    die("BAD!");
}
if (mysql_num_rows($result)==1){
    $row = mysql_fetch_array($result);
    echo "user Id: " . $row['userid'];
}
else{
    echo "not found!";
}

我个人使用事先准备好的声明

为什么它很重要?

这很重要,因为安全。对在查询中使用变量的人执行SQL注入非常容易

不使用此代码:

$query = "SELECT username,userid FROM user WHERE username = 'admin' ";
$result=$conn->query($query);
您应该使用此

$stmt = $this->db->query("SELECT * FROM users WHERE username = ? AND password = ?");
$stmt->bind_param("ss", $username, $password); //You need the variables to do something as well.
$stmt->execute();
了解有关以下方面的准备声明的更多信息:

MySQLI


PDO

我们不知道您使用的是什么数据库包装器,但无论它是哪一个,它的手册都保证有一个非常非常基本的例子。这并不意味着粗鲁,但在这里走这条路确实更可取。投票关闭。@如果有不正确的地方,请解释原因,这既是为了更好地了解我们,也是为了更好地帮助您。我想您误解了这个问题:no_freedom想要一种不需要实际运行查询就可以存储查询值的方法。
$query = "SELECT username,userid FROM user WHERE username = 'admin' ";
$result=$conn->query($query);
$stmt = $this->db->query("SELECT * FROM users WHERE username = ? AND password = ?");
$stmt->bind_param("ss", $username, $password); //You need the variables to do something as well.
$stmt->execute();
$query    =    "SELECT username, userid FROM user WHERE username = 'admin' ";
$result    =    $conn->query($query);

if (!$result) {
  echo 'Could not run query: ' . mysql_error();
  exit;
}

$arrayResult    =    mysql_fetch_array($result);

//Now you can access $arrayResult like this

$arrayResult['userid'];    // output will be userid which will be in database
$arrayResult['username'];  // output will be admin

//Note- userid and username will be column name of user table.