gpt4 book ai didi

php - 带有 XAMPP 的 PHP 中的数据库连接问题

转载 作者:行者123 更新时间:2023-12-01 00:35:03 25 4
gpt4 key购买 nike

在使用 Xampp 时使用以下方法连接到 MySQL 服务器。

<?php
$mysql_host = 'localhost';
$mysql_user = 'root';
$mysql_pass = '';

$mysql_db = 'a_database';

if(mysqli_connect('$mysql_host','$mysql_user','$mysql_pass') || !mysqli_select_db($mysql_db)) {
die ('could not connect');
}

?>

但我收到以下错误:

Warning: mysqli_connect(): php_network_getaddresses: getaddrinfofailed: No such host is known. in C:\xampp\htdocs\php\connect.inc.phpon line 8

Warning: mysqli_connect(): (HY000/2002):php_network_getaddresses: getaddrinfo failed: No such host is known.in C:\xampp\htdocs\php\connect.inc.php on line 8

Warning:mysqli_select_db() expects exactly 2 parameters, 1 given inC:\xampp\htdocs\php\connect.inc.php on line 8 could not connect

我该如何解决这个问题?

最佳答案

单引号插入,它们发送文字文本,包括$ ,这不是您想要的。

无论如何你都不应该引用这些值,只需按原样放置它们即可:

$db = mysqli_connect($mysql_host, $mysql_user, $mysql_pass)

看到类似 "$x" 的东西是一种非常常见的反模式在 PHP 代码中,可能会在必要时从 shell 脚本中冒出一些东西。在 PHP 中不是这样,而且经常会像这里一样引起麻烦。

不要忘记将您的数据库连接保存到一个变量中,否则它会在您使用之前被丢弃。

另一件需要注意的事情是 mysqli 的面向对象接口(interface)明显不那么冗长,使代码更易于阅读和审核,并且不容易与过时的 mysql_query 混淆界面。在您对程序风格投入太多之前,值得切换。示例:$db = new mysqli(…)$db->prepare("…")程序接口(interface)是 PHP 4 时代的神器 mysqli引入了 API,理想情况下不应在新代码中使用。

正确使用方法mysqli是:

$db = new mysqli($mysql_host, $mysql_user, $mysql_pass)

它的操作完全相同,只是它要小得多,例如:

$stmt = $db->prepare("...");

而不是更冗长:

$stmt = mysqli_prepare($db, "...")

语句操作函数变得更加冗长。

关于php - 带有 XAMPP 的 PHP 中的数据库连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55068022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com