簡體   English   中英

如何從MySQL'LIKE'獲得各種結果?

[英]How to receive various results from MySQL 'LIKE'?

所以,我寫了這段代碼,它的確有效。 但是,它只返回一個結果。 所以我的數據庫中有2個'Eric Clapton'的名字,每個都有不同的id。 但查詢只返回其中一個2.任何想法?

<?php

$now = htmlentities(rawurldecode($_GET['word'])); // in this case i passed in 'Eric Clapton'
$cat = htmlentities($_GET['cat']); // category, in this case lets say i passed in 'music'

$con = mysql_connect("localhost","USERNAME","PASS");
if (!$con)
  {
  echo "<pre>An error occured, please try again later. Sorry...</pre>"; 
  }
else{ mysql_select_db("DATABASE", $con);

    $result = mysql_query("SELECT id, name FROM $cat WHERE name LIKE '%$now%'");
    $row = mysql_fetch_array($result);

    echo "<pre>";
    print_r($row);
    echo "</pre>";

mysql_close($con);  
}
?>

真相,現在我們正在談論 - >

<?php

$now = '%'.htmlentities(rawurldecode($_GET['word'])).'%';
$cat = htmlentities($_GET['cat']); 

$dsn = 'mysql:dbname=DATABASE;host=localhost';
$user = "USER";
$password = "PASS";

# connect to the database
try {
    $DBH = new PDO($dsn, $user, $password);
    $DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

    # the data we want to insert
    $data = array($now);

    $STH = $DBH->prepare("SELECT id, name FROM $cat WHERE name LIKE ?");
    $STH->execute($data);
    $result = $STH->fetchAll();

}
catch(PDOException $e) {
    echo "Uh-Oh, something wen't wrong. Please try again later.";
    file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);
}

echo "<pre>";
print_r($result);
echo "</pre>";

$DBH = null;

?>

你錯過了循環,循環結果:

while($row = mysql_fetch_array($result))
{
    echo "<pre>";
    print_r($row);
    echo "</pre>";
}

你目前所做的是從結果中獲取第一行。

暫無
暫無

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

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