<?php
$db_host="localhost";
$db_name="project1";
$db_user="root";
$db_password="";
$dsn="mysql:host=$db_host;db_name=$db_name";
$db=new PDO($dsn,$db_user,$db_password);
var_dump($db);
$sql="SELECT * from `user`"
."WHERE 'gender'=?";
$sth=$db->prepare($sql);
var_dump($sth);
$return=$sth->execute(array('male'));
?>
代码是这样的,运行后显示
object(PDO)[1]
object(PDOStatement)[2]
public 'queryString' => string 'SELECT * from 'user'WHERE 'gender'=?' (length=36)
boolean false
$db_host="localhost";
$db_name="project1";
$db_user="root";
$db_password="";
$dsn="mysql:host=$db_host;db_name=$db_name";
$db=new PDO($dsn,$db_user,$db_password);
var_dump($db);
$sql="SELECT * from `user`"
."WHERE 'gender'=?";
$sth=$db->prepare($sql);
var_dump($sth);
$return=$sth->execute(array('male'));
?>
代码是这样的,运行后显示
object(PDO)[1]
object(PDOStatement)[2]
public 'queryString' => string 'SELECT * from 'user'WHERE 'gender'=?' (length=36)
boolean false
看看
显示的是这个
print_r($db->errorInfo);
或
print_r($sth->errorInfo);
Array
(
[0] => 00000
[1] => 1046
[2] => No database selected
)说你没选择数据库,仔细一看,是你 $dsn="mysql:host=$db_host;db_name=$db_name"; 这句写错了,应该改为:
$dsn="mysql:host=$db_host;dbname=$db_name";还有SQL也有错误,更正为:
$sql="SELECT * from `user`"
." WHERE `gender`=?";
."WHERE 'gender'=?";你的不是查询吗,插入使用 insert into 命令。