gpt4 book ai didi

php - Pdo select语句不显示数据库中的数据

转载 作者:行者123 更新时间:2023-11-29 18:37:38 25 4
gpt4 key购买 nike

<?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();
}

?>

我想显示地址栏中的数据,但它不显示任何内容,也不显示错误。我不知道代码有什么问题

<?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();
}

?>

但是当我尝试上面的格式时,它会显示我想要的数据。但我需要在语句中使用变量。请检查第一段代码有什么问题

最佳答案

bindValue中提供第三个参数(适当的数据类型):

更改以下行:

$sql->bindValue(':provcode', $x);

$sql->bindValue(':provcode', $x, PDO::PARAM_STR);// This will work if your provcode is of type int, provide appropriate datatype

关于php - Pdo select语句不显示数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45159135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com