這是我想要做的;我將一個編碼數據作爲查詢變量傳遞給我的網頁,然後在我的php頁面中,解碼數據並在數據庫中檢查相同的數據。我使用的代碼如下所示:PHP從mysql數據庫中獲取查詢字符串變量的數據
<?php
// Get the ID from URL.
$id = (isset($_GET["id"]) && !empty($_GET["id"]) ? $_GET["id"] : "");
// If "id" is not empty, proceed.
if(!empty($id)) {
$id = base64_decode($id);
global $wpdb;
$res = $wpdb->query("SELECT * FROM S_redirect WHERE source = ".$id);
$tot = count($res);
echo $tot . " records found.";
for($i=0; $i<count($res); $i++) {
echo $res[$i]->id;
}
exit;
}
else {
echo "No ID";
exit;
}
?>
我在我的數據庫中有一條記錄。上面的代碼正確地說「找到1條記錄」。我不確定如何獲得該行中的字段值。我有3列,他們是id,field1和field2。代碼「echo $res[$i]->id
」不返回任何內容。
請幫
順便說一句,我在我的WordPress的博客嘗試這一點。
謝謝大家的建議。我試過你的建議,這裏是我的結果:
$res = $wpdb->query("SELECT * FROM S_redirect WHERE source = ".$id);
$tot = count($res);
echo $tot . " records found."."</br>";
它說找到1條記錄。
$res = $wpdb->get_row("SELECT * FROM S_redirect WHERE source = ".$id);
$tot = count($res);
echo $tot . " records found."."</br>";
它說找到0條記錄。
$res = $wpdb->get_results("SELECT * FROM S_redirect WHERE source = ".$id);
$tot = count($res);
echo $tot . " records found."."</br>";
它說找到0條記錄。
while ($row = mysql_fetch_array($res)) {
echo $row[0];
}
如果我使用mysql_fetch_array,
警告:mysql_fetch_array():提供的參數不是在/home/myfolder/mytheme/index.php一個有效的MySQL結果資源上線38
第38行是while($ row = mysql_fetch_array($ res)){。
我試圖做到:
我有一個WordPress博客。所有上面的代碼進入我的index.php。我會通過查詢字符串變量將產品ID傳遞給我的index.php。我在我的wordpress數據庫中創建了一個名爲S_redirect的新表。我將檢索查詢字符串變量id的值,並在我的數據庫表中檢查相同的值。如果記錄存在,則從該表格行中檢索其中一個列值(產品的url)並重定向到該產品url。如果記錄不存在,則重定向到主頁。希望這有助於大家瞭解我在做什麼。
'的var_dump($水庫);' – zerkms 2011-03-27 12:43:17
根據http://codex.wordpress.org/Function_Reference/wpdb_Class你最好'get_results'方法 – zerkms 2011-03-27 12:49:22
好吧,我已經使用$ wpdb-> get_results嘗試。我找到0條記錄。 – joghn 2011-03-27 13:13:09