簡體   English   中英

mysql查詢結果在php變量中

[英]mysql query result in php variable

有沒有辦法將mysql結果存儲在php變量中? 謝謝

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

然后我想從查詢中打印選定的userid。

當然有。 如果你使用MySQL,請查看mysql_querymysql_fetch_row
PHP手冊示例:

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

你需要研究幾個mysql函數。

  • mysql_query(“query string here”):返回一個資源
  • 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!";
}
$query="SELECT * FROM contacts";
$result=mysql_query($query);

我個人使用准備好的陳述。

它為什么如此重要?

因為安全,這很重要。 對在查詢中使用變量的人進行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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM