PHP查询MySQL数据库的示例及注意事项

PHP在查询数据库数据时,常取不到数据,也没报错,经过多次查找原因,有个细节常被大意了,就是MySQL查询语句中,有些要加引号,有些不用加引号,多查一查,就能找到原因,如经我自己测试了一下:变量就要加单引号,如果加双引号会报错,

<?php
require "../public/db.php"; //引入数据库文件,文件内容如下

$sql="SELECT * FROM `users` WHERE name = '$a' ";
//查询数据库,*所有内容,user是表名,name是字段名,$a是变量

//取得并处理数据
$stmt=$pdo->prepare($sql);
$stmt->execute();
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
//echo $stmt->rowCount();
if(isset($res)){
    foreach($res as $k=>$v){
    echo '<br>';
    echo 'ID:'.$v['id'];
    echo '<br>';
    echo '名字:'.$v['name'];
    }
}
?>

db.php文件内容如下 

<?php
header('content-type:text/html;charset=utf-8');
require "../public/config.php";
try {
    $pdo = new PDO(DB_DSN,DB_USER,DB_PWD,
    [PDO::ATTR_ERRMODE=>PDO::ERRMODE_WARNING]);
} catch (Exception $e) 
{
    echo $e->getMessage();
} catch(Throwable $e)
{
    echo $e->getMessage();
}

config.php文件内容如下 

<?php
define('DB_HOST','localhost');//主机名
define('DB_USER', 'root');//连接数据库的用户名
define('DB_PWD',  'root');//连接数据库密码
define('DB_NAME', 'test');//数据库名称
define('DB_PORT', '3306');//数据库端口号
define('DB_TYPE', 'mysql');//数据库的型号
define('DB_CHARSET', 'utf8');//数据库的编码方式
define('DB_DSN', DB_TYPE.":host=".DB_HOST.";dbname=".DB_NAME.";charset=".DB_CHARSET);//定义PDO的DSN


 

方法二:

$host = 'localhost';
$username = 'root';
$password = 'root';
$dbname = 'dbname';
// 创建连接

$link = @mysqli_connect($host, $username, $password, $dbname);

if($link){
$sql = 'select * from ‘users’ where name ='$a' '; // SQL 语句 users为表名name字段名$a变量
$result = mysqli_query($link, $sql); // 执行 SQL 语句,并返回结果
$data = mysqli_fetch_assoc($result); // 从结果集中获取一条数据
mysqli_close($link);
}else{
echo '数据库连接失败!';
}
echo '
';
print_r($data);

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值