今天才稍了解了php和mysql之间的连接,以前搭建LNMP时只关注nginx解析php了,趁热抓紧学习了一下,写下来,为了和我一样迷茫的朋友;
1、连接的三种方法及异同;
2、三种方式连接实例;
3、查看你的php支持了哪个模块;(编译某个模块)
------------------------------------------------------------------------------------------------------
1、连接的三种方法及异同;
现在php版本已到7+版本了,而5以上的版本就建议用以下方法了,我用的下图方法所以就连接不上
MySQLi (面向对象)
MySQLi (面向过程)
PDO
PDO可以应用在12中数据库中,应用及广;而mysqli只支持mysql,但MySQLi是支持提供api接口的
两者都是有面对对象的说,而且都支持预处理,很好的防止sql注入。
2、三种方式连接:
MySQLi(面向过程)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
// 检测连接
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "连接成功";
?>
手动关闭连接方式:mysqli_close($conn);
(连接在脚本执行完后会自动关闭。你也可以使用以下代码来关闭连接)
MySQLi(面向对象)
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
手动关闭连接:$conn->close();
PDO
<?php
$servername = "localhost";
$username = "username";
$password = "password";
try {
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
echo "连接成功";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
//关闭连接
$conn = null;
3、查看你的php支持了哪个模块;(编译某个模块)
命令: /php路径/bin/php -m
或者 : <?php phpinfo(); ?>
如果两个都没有,就去php解压包中编译,举例编译mysqli:
cd /downloads/php-7.0.9/ext(这是我的解压包路径)
cd mysqli(所需模块目录)
/usr/local/php/bin/pnpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
vim /usr/local/php/etc/php.ini
加入: extension=mysqli.so
然后重启php即可
同理所有php模块加载方式都大同小异。
共同学习,写下你的评论
评论加载中...
作者其他优质文章