0
我爲我的應用程序之一使用SQLite我有一個條件,我第一次運行查詢,如果它返回結果,然後我檢索其數據,但如果第一個查詢doesn' t返回任何我想運行的另一個查詢,只需從數據庫中選擇任意一行,然後返回結果。在SQLite中沒有數據返回時選擇隨機數據
我已經設計了下面的代碼,它的工作正常,如果它匹配第一種情況下的數據,但這不適用於第二種情況。
$sql_query = "SELECT (select count(*)) as count,* FROM item WHERE combo LIKE '%" . $ans_combo . "%' LIMIT 1;";
$sql_query_bu = "SELECT * FROM item ORDER BY RANDOM() LIMIT 1;";
ini_set('display_errors', true);
error_reporting(E_ALL);
try {
$dbh = new PDO("sqlite:src/appdb.s3db");
$dbh -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh -> setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$stmt = $dbh -> prepare($sql_query);
$stmt -> execute();
foreach ($stmt as $row) {
if ($row['count'] != '1') {
echo $sql_query_bu . "<br/>";
$stmt = $dbh -> prepare($sql_query_bu);
$stmt -> execute();
foreach ($stmt as $row) {
echo $row['name'], " ", $row['name'], " ", $row['name'], "\n";
}
}
echo "Count: " . $row['count'];
echo $row['name'], " ", $row['name'], " ", $row['name'], "\n";
}
} catch(Exception $ex) {
var_dump($ex);
}
unset($dbh);
unset($stmt);
請通過此指導我。
謝謝。
現在工作了,thnx的advce我肯定會尋找一些更好的選擇。謝謝。 :) – Maven 2012-03-22 14:25:12