PHP mysqli query 链接数据库和查询实例

2383
mysql_connect()已经被弃用了,使用时会出现如下错误
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in
下面介绍php mysqli query 链接数据库和查询实例
$mysql_server_name="localhost"; //数据库服务器名称
$mysql_username="root"; // 连接数据库用户名
$mysql_password="123456"; // 连接数据库密码
$mysql_database="wqdb"; // 数据库的名字
 
// 连接服务器,并选择一个数据库
$mysqliConn = new mysqli($mysql_server_name,$mysql_username,$mysql_password,$mysql_database);
// 与数据库交互
$sql="select * from data_shangpin;";
$result=$mysqliConn->query($sql);
while ($row = mysqli_fetch_assoc($result))
{
    //$row=json_encode($row);
    var_dump($row);
}
// 关闭连接
$mysqliConn->close();

query:失败返回false,select成功返回结果集对象,其他返回true 非false,意味着sql执行成功了
无结果集示例
$mysqli = mysqli_init();
$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 2);//设置超时时间
$mysqli->real_connect('127.0.0.1', 'root', '', 'test');
$sql = "insert into limove(`name`, `order`) values('aa', 11)";
$rst = $mysqli->query($sql);
$sql = "delete from limove where id = 221";
$rst = $mysqli->query($sql);
if($rst === false)
{
    ee($mysqli->errno);
    ee($mysqli->error);
}
#影响条数
ee($mysqli->affected_rows);
#插入的id
ee($mysqli->insert_id);
ee($mysqli);
有结果集

$mysqli = mysqli_init();
$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 2);//设置超时时间
$mysqli->real_connect('127.0.0.1', 'root', '', 'test');
$sql = "select * from limove as limove_as";
$result = $mysqli->query($sql);
if($result === false)
{
    ee($mysqli->errno);
    ee($mysqli->error);
}
#行数
ee($result->num_rows);
#列数
ee($result->field_count);
#字段个数
ee($result->field_count);
#获取所有字段的信息
$field_arr = $result->fetch_fields();
#移动字段的指针
// $result->field_seek(1);
#依次获取字段的信息
while($field = $result->fetch_field())
{
    ee($field);
}
#移动记录指针
$result->data_seek(1);
#一次获取所有数据
$data = $result->fetch_all(MYSQLI_ASSOC);
#关联数组方式获取结果集
$data = array();
$result->data_seek(0); #重置指针到起始
while($row = $result->fetch_assoc())
{
    $data[] = $row;
}
ee($data);
$result->free();
$mysqli->close();