2011-03-01 144 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.