致命错误:未捕获的错误:调用 C:\xampp\htdocs\ 中未定义的函数 mysql_connect()

Posted

技术标签:

【中文标题】致命错误:未捕获的错误:调用 C:\\xampp\\htdocs\\ 中未定义的函数 mysql_connect()【英文标题】:Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\xampp\htdocs\致命错误:未捕获的错误:调用 C:\xampp\htdocs\ 中未定义的函数 mysql_connect() 【发布时间】:2016-09-19 06:39:57 【问题描述】:

我正在尝试与 XAMPP 和 sql server 建立连接。但是当我尝试输入数据或连接到数据库时,我会收到此错误。

致命错误:未捕获错误:调用未定义函数 C:\xampp\htdocs\Maxipak\process.php:3 中的 mysql_connect() 堆栈跟踪: #0 main 在第 3 行的 C:\xampp\htdocs\Maxipak\process.php 中抛出

我在第 3 行的代码如下所示:

$conn = mysql_connect ("localhost","root","");

【问题讨论】:

mysql_* 函数已弃用,请改用mysqli_*,这样您就没有问题了..! 并从 PHP7 中删除。 Ahaa..那么如果您将XAMPP 与 PHP7 一起使用,那么这就是您收到未定义函数错误的原因..! 这能回答你的问题吗? Fatal error: Uncaught Error: Call to undefined function mysql_connect() 【参考方案1】:

这是一个正确的方法:

注意:由于 mysql_* 函数已被弃用,并且自 PHP 7 以来已被删除,因此如果您将 XAMPPPHP 7 一起使用,那么这就是您收到未定义函数错误和相反,您应该使用mysqli_*,因为它非常易于使用。

如何使用 MYSQLi 创建数据库连接:

<?php
/* Database config */
$db_host        = '';
$db_user        = '';
$db_pass        = '';
$db_database    = ''; 
/* End config */
$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_database);
/* check connection */
if (mysqli_connect_errno()) printf("Connect failed: %s\n", mysqli_connect_error());
?>

注意:只需插入您的数据库详细信息,您就可以开始使用了..!

【讨论】:

【参考方案2】:

您的 php.ini 中没有激活 lib mysql。但是你不应该使用 mysql_ 因为它已被弃用。你应该使用 mysqli_ 或 PDO

【讨论】:

如果他像你说的那样激活它仍然不起作用,所以最好不要鼓励OP使用不推荐使用的功能..! :D 我说这是不推荐使用的,他不应该使用它,所以我不明白你的评论......【参考方案3】:

正如评论中所建议的,如果您将 XAMPP 与 PHP7 一起使用,mysql_* 函数已被删除。

以下是连接到数据库的推荐替代方法:

MYSQLI

mysqli_connect("dbhost", "dbuser", "dbpassword", "db");

PDO

$stmt = new PDO('mysql:host=dbhost;dbname=dbname', 'dbuser', 'dbpass');

【讨论】:

似乎PDO 一切都发生了很大变化,但MYSQLi 变化很小,还是我错了?所以从MYSQL 采用MYSQLi 而不是PDO 相当容易,不是吗?? 您是对的,但是从长远来看,PDO 是一种更好的做法,因为它可以帮助防止 SQL 注入攻击。 嗯...您也是正确的,但是使用 mysqli 中的准备好的语句,您几乎可以防止 SQL 注入攻击,不是吗?? @UmairShahYousafzai 确实如此,但我相信这取决于个人喜好.. 我更喜欢使用 PDO 而不使用 mysqli @如你所愿朋友..我只是说..!你知道它很容易使用mysqli :D【参考方案4】:

致命错误:未捕获的错误:调用 C:\xampp\htdocs 中未定义的函数 mysql_connect()

这个问题是你的编码不​​支持php版本。如果你想修复。首先快速更改您的 xampp 版本。不要更改您的设置等。

示例:xampp 版本 5.6...(最佳选择)

【讨论】:

以上是关于致命错误:未捕获的错误:调用 C:\xampp\htdocs\ 中未定义的函数 mysql_connect()的主要内容,如果未能解决你的问题,请参考以下文章

致命错误:未捕获的错误:在 null 上调用成员函数 select()

致命错误:未捕获错误:调用未定义函数 is_product()

致命错误:未捕获的错误:调用未定义的方法 Connection::prepare() [重复]

致命错误:未捕获的错误:调用 C:\xampp\htdocs\ 中未定义的函数 mysql_connect()

Woocommerce 出现致命错误:未捕获的错误:调用未定义的方法 WooCommerce::get_image_size()

致命错误:未捕获错误:在null上调用成员函数select()