1
我已經使用了一段時間,但自此之後升級到PDO而不是mysql查詢。但我似乎無法得到這個特定的片段工作。幫助將此mysql查詢轉換爲PDO查詢
$query = mysql_query ($sql) or die (mysql_error());
while ($records = @mysql_fetch_array ($query)) {
$alpha[$records['alpha']] += 1;
${$records['alpha']}[$records['id_clients']] = array(
$records['first_name'], //item[0]
);
}
我已經試過這
while ($records = $this->db->fetch_row_assoc($sql)) {
$alpha[$records['alpha']] += 1;
${$records['alpha']}[$records['id_clients']] = array(
$records['first_name'], //item[0]
);
}
和我的PDO的代碼是
public function query($statement)
{
return self::$PDO->query($statement);
}
public function fetch_row_assoc($statement) {
self::$PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try
{
$stmt = self::$PDO->query($statement);
$result = $stmt->fetch();
return $result;
}catch(PDOException $e){
echo $e->getMessage();
}
return false;
//return self::$PDO->query($statement)->fetch(PDO::FETCH_ASSOC);
}
查詢功能的工作原理,但我已經介紹了我fetch_row_assoc功能,希望我可以做同樣的與mysql_fetch_asso的東西。
$sql = "SELECT
SUBSTRING(`last_name`, 1, 1) AS alpha,
SUBSTRING(`middle_name`, 1, 1) AS subMiddleName,
`id_clients`,
`type`,
`first_name`,
`middle_name`,
`last_name`,
`address`,
`primary_number`,
`secondary_number`,
`home_number`,
`office_number`,
`cell_number`,
`fax_number`,
`ext_number`,
`other_number`,
`comments`
FROM `clients`
WHERE `user_id` = 1
AND `is_sub` = 0
AND `prospect` = 1
ORDER BY `last_name`";
我的問題是,它需要時間超過60秒做查詢和超時我有錯誤味精服務器上:致命錯誤:60秒的最長執行時間超過在/var/www/vhosts/foo.bar/httpdocs/library/classes/database.class.php在線115 – Eli 2011-03-24 17:39:18
你可以發佈實際查詢嗎?我不認爲超時發生是因爲PHP代碼。 – 2011-03-24 17:43:56
我更新了我的查詢 – Eli 2011-03-24 17:56:16