<?php
$localhost ="localhost";
$username = "root";
$password = "";
$dbname = "sbnhs";
try {
$db = new PDO("mysql:host=$localhost;dbname:$dbname", $username, $password);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// echo "Success";
$x = 0128;
$sql = $db->prepare("SELECT * FROM $dbname.refcitymun WHERE provCode = :provcode");
$sql->bindValue(':provcode', $x);
if($sql->execute()) {
while($result = $sql->fetch()){
$desc = $result['citymunDesc'];
echo $desc;
}
}else {
echo 'Query Error';
}
}catch (PDOException $e) {
print 'Error: ' . $e->getMessage() . '</br>';
die();
}
?>
我想在我的地址欄中顯示數據,但它不顯示任何內容或錯誤。我不知道代碼有什麼問題Pdo select語句不顯示數據庫中的數據
<?php
$localhost ="localhost";
$username = "root";
$password = "";
$dbname = "sbnhs";
try {
$db = new PDO("mysql:host=$localhost;dbname:$dbname", $username, $password);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// echo "Success";
// $x = 0128;
$sql = $db->prepare("SELECT * FROM $dbname.refcitymun WHERE provCode = 0128");
// $sql->bindValue(':provcode', $x);
if($sql->execute()) {
while($result = $sql->fetch()){
$desc = $result['citymunDesc'];
echo $desc;
}
}else {
echo 'Query Error';
}
}catch (PDOException $e) {
print 'Error: ' . $e->getMessage() . '</br>';
die();
}
?>
但是當我嘗試上面的格式時,它顯示我想要的數據。但我需要在聲明中使用變量。請檢查什麼是錯的第一個代碼
'0128'是八進制表示法,它是十進制數中的一個不同的數字。 –
'$ x = 0128;'應該出錯,因爲它甚至不是一個有效的八進制數字(儘管舊版本只會默默地將其截斷爲「012」,請參閱(https://stackoverflow.com/a/40736053/) 2422776的詳細信息) – Mureinik
@u_mulder關於如何解決這個問題的任何建議嗎?我需要將八進制轉換爲十進制嗎? –