2011-03-01 146 views
9

有什么办法可以将mysql结果存储在php变量中吗?谢谢在php变量mysql查询结果

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

然后我想从查询打印选定的用户标识。

+5

我们不知道你用的是什么数据库的包装,但它是哪一个,它的手册是保证有这个非常,非常基本的东西的例子。不意味着粗鲁,但在这里真的更喜欢这条路。投票结束。 – 2011-03-01 17:17:40

+0

我正在使用MySql。 – 2011-03-01 17:18:45

回答

46

当然有。如果您使用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 
?> 
+0

为什么这会降低投票率? – 2011-03-01 17:18:39

+2

@serialdownvoter如果有什么不正确的地方,请解释为什么,为了更好地了解我们的知识,以便我们能够更好地帮助您。 – 2011-03-01 17:19:56

+0

@hellodownvoter你是谁? – 2011-03-01 17:24:20

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

同样在这里,如果你不满意,请解释原因。 – mailo 2011-03-01 17:21:15

+0

我想你误解了这个问题:no_freedom想要一种方法来存储查询的值,而不必实际运行查询。 – 2017-08-22 16:37:06

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!"; 
} 
-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

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