十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、用 mysql_connect 的方法,PHP7会报致命错误
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名、虚拟空间、营销软件、网站建设、黄梅网站维护、网站推广。
$conn= mysql_connect('localhost','xueyanxiang','xueyanxiang');
Fatal error : Uncaught Error: Call to undefined function mysql_connect() in /Users/xueyanxiang/work/test/xue.php:31 Stack trace: #0 /Users/xueyanxiang/work/test/xue.php(119): xue-run() #1 {main} thrown in /Users/xueyanxiang/work/test/xue.php on line 31
原因是:
PHP5中使用mysql_connect()函数进行连接,但实际上,PHP5.5开始,MySQL就不推荐使用了,属于废弃函数
PHP7中貌似已经彻底不支持了,根据官网说明,取而代之的是如下两个:
本扩展自 PHP 5.5.0 起已废弃,并在将来会被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之。参见 MySQL:选择
API 指南以及相关 FAQ 以获取更多信息。用以替代本函数的有:
mysqli_connect()
PDO::__construct()
使用时,不要在使用mysql_connect了,可以换用mysqli_connect(),用法基本类似吧,据说是面向对象的库。
php.ini中,也只有extension=php_mysqli.dll,而不再有extension=php_mysql.dll这个拓展了。
2、可以使用mysqli,对象化,方法名与被废弃的类似
$conn= mysqli_connect('localhost','xueyanxiang','xueyanxiang');
3、PDO工具,推荐使用
$dbh= "mysql:host=localhost;dbname=test";
$db= new PDO($dbh,'xueyanxiang','xueyanxiang');
$objQuery= $db-query("select * from user;");
$res= $objQuery-fetchAll(PDO::FETCH_ASSOC);
不填写参数的话,默认是关联和索引都有,如下图
看看是否支持pdo,因为默认的错误如果不显示的话,就靠返回错误只能得到这个,pdo还是需要pdo_mysql来支持的。
链接数据库的代码如下:
$Link = new PDO('mysql:host=localhost;dbname=stu', 'username','password');
更具体的操作,请查看:
怎么获得mysql以pdo方式的数据库连接变量
// 数据库连接ID 支持多个连接
protected $linkID = array();
// 当前连接ID
protected $_linkID = null;
复制代码
我在使用datatable editor插件的时候,需要为插件配置mysql数据库信息,但是thinkphp已经帮我连接过一次,插件连接的话,插件的
$db = new Database( $sql_details );
复制代码
这里获得$db为空值,
解决办法就是采用pdo连接方式,直接在配置信息的时候把thinkphp的数据库连接变量配置进去
$sql_details = array(
"type" = "Mysql", // Database type: "Mysql", "Postgres", "Sqlite" or "Sqlserver"
"user" = "root", // Database user name
"pass" = "", // Database password
"host" = "localhost", // Database host
"port" = "", // Database connection port (can be left empty for default)
"db" = "XXXX", // Database name
"dsn" = "", // PHP DSN extra information. Set as `charset=utf8` if you are using MySQL
'pdo' = $dbh
);
php pdo 怎么链接mysql 中文数据库名
: $dbh是new PDO() $dbh-exec("show tables");--获取所有表# $dbh-exec("desc 表名");--查询表结构