致命错误:未捕获的错误:调用 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
以来已被删除,因此如果您将 XAMPP
与 PHP 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()