有没有办法将mysql结果存储在php变量中?感谢
$query = "SELECT username,userid FROM user WHERE username = 'admin' ";
$result=$conn->query($query);
然后我想从查询中打印选定的userid。
答案 0 :(得分:50)
当然有。如果您使用MySQL,请查看mysql_query
和mysql_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_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
答案 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.