我從mysql切換到pdo。我有以下代碼:Php PDO mysql給不同的結果比mysql workbentch
$stmt_serverl = $db->prepare("SELECT ID, Name, IP, IP2 FROM serverl WHERE LOWER(Name) LIKE '%:name%'");
if ($row['divs'] == 1) {
$date_compare = new DateTime('2014-10-15 11:11:10');
if ($dt > $date_compare) {
$name = explode('@',strtolower($row['name']));
print_r($name);
$full_name = $name[0]."-".$name[1].$name[2];
$stmt_serverl->bindValue(':name', $name[1], PDO::PARAM_STR);
}
else {
$name = explode('@',strtolower($row['name']));
print_r($name);
$full_name = $name[0]."-".$name[1]."-".$name[2];
$stmt_serverl->bindValue(':name', $name[1], PDO::PARAM_STR);
}
}
elseif ($row['divs'] == 2) {
$name = explode('@',strtolower($row['name']));
print_r($name);
$full_name = $name[0].$name[1]."-".$name[2];
$stmt_serverl->bindValue(':name', $name[0], PDO::PARAM_STR);
}
$dt = null;
$stmt_serverl->execute();
$result = null;
$result = $stmt_serverl->fetchAll();
// println($query_serverl, $debug, $logfile);
echo "<pre>";
print_r($result);
echo "</pre>";
我從另一個結果集,它工作得很好,所有PARAMS($行[「的div」]和$行[「名稱」])。 當我運行與$名VAR查詢我得到了奇怪的結果:
陣列 ( [0] =>陣列 ( [ID] => 3237 [名] =>:名稱 [IP] =>:IP [IP2] =>:IP2 )
[1] => Array
(
[ID] => 3236
[Name] => :Name
[IP] => :IP
[IP2] => :IP2
)
[2] => Array
(
[ID] => 3235
[Name] => :Name
[IP] => :IP
[IP2] => :IP2
)
[3] => Array
(
[ID] => 3234
[Name] => :Name
[IP] => :IP
[IP2] => :IP2
)
) ,同時運行在工作臺返回0的結果相同的查詢(無匹配在所有) 我無法確定可能是什麼問題。 謝謝 mor
您的if/else/elseif什麼也不做。 – 2014-11-03 12:03:40
好的,我認爲你是對的,但我不明白我是如何從printif4($ name)的elseif內輸出的...... – 2014-11-03 12:24:21