mysql查询结果在php变量中

时间:2011-03-01 17:16:18

标签: php mysql

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

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

然后我想从查询中打印选定的userid。

5 个答案:

答案 0 :(得分:50)

当然有。如果您使用MySQL,请查看mysql_querymysql_fetch_row
来自PHP manual的例子:

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
$row = mysql_fetch_row($result);

echo $row[0]; // 42
echo $row[1]; // the email value
?>

答案 1 :(得分:5)

您需要查看几个mysql函数。

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

    while ($row = mysql_fetch_array($query)){
        print_r $row;
    }

    请参阅手册,下面提供的链接,他们有更多选项来指定请求数组的格式。比如,您可以使用mysql_fetch_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!";
}

答案 2 :(得分:2)

$query="SELECT * FROM contacts";
$result=mysql_query($query);

答案 3 :(得分:-1)

我个人使用预备陈述。

为什么重要?

因为安全,这很重要。对在查询中使用变量的人进行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();

了解有关预备语句的更多信息:

http://php.net/manual/en/mysqli.quickstart.prepared-statements.php MySQLI

http://php.net/manual/en/pdo.prepared-statements.php PDO

答案 4 :(得分:-1)

$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.