zoukankan      html  css  js  c++  java
  • PHP Fatal error: Call to undefined function mysql_connect() 错误解释

    我使用的是5.6.11版本的php

    刚开始以为编译参数加了--with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd,就可以不能安装mysql了。

    但是使用了mysq_connect()函数后发现php无法解析,在apache的日志当中出现下面这个提示,刚开始想不通。

    PHP Fatal error: Call to undefined function mysql_connect() 

    因为原先的mysql.api已经在php5.5开始被移除,而之后的php 自带的mysqli只支持部分部分函数。

    具体可以参考http://cn2.php.net/manual/zh/set.mysqlinfo.php

    如果真的不想安装mysql,用以替代本函数的有:

    http://cn2.php.net/manual/zh/function.mysql-connect.php

    ------------------------------------------------------------------

    首先纠正一个问题,

    5.x开始,PHP连接MYSQL无论使用哪种方式都是使用的mysqlnd驱动(当然是在你安装好的时候)。包括mysql_*PDO_MYSQLMYSQLi

    在编译安装PHP的时候,需要指定开启以下扩展
    --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd 而不再是 --with-mysqli=/usr/local/mysql

    • PHP7 正式移除了 mysql 扩展

    mysqlndmysql mysqli pdo_mysql关系打比方说 mysqlnd金属,而mysql mysqli pdo_mysql只是金属制品而已

    使用PDO连接mysql

     
    $pdo = new PDO('mysql:host=localhost;dbname=database_name;port=3306','用户名','密码');
    $pdo->exec('set names utf8');
    
    $stmt = $pdo->prepare("select * from table where id =:id");
    $stmt->bindValue(':id',1,PDO::PARAM_INT);
    $stmt->execute();
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    $rows = $pdo->query("select * from table where id = 1")->fetchAll(PDO::FETCH_ASSOC);
  • 相关阅读:
    ecshop 在首页每个商品下显示已销售数量
    ecshop 用户名和邮箱都能登陆
    ecshop 模版商品详情页,不同商品调用不同模板
    ecshop文章详情页显示浏览数
    让ecshop编辑器功能更强大
    ecshop 改变sitemap.xml的位置
    ecshop 广告位固定
    ecshop 点购物车弹出提示框
    (三)简单工厂模式详解
    (一)单例模式详解
  • 原文地址:https://www.cnblogs.com/wajika/p/6627140.html
Copyright © 2011-2022 走看看