【发布时间】:2014-09-06 16:44:10
【问题描述】:
我在连接 SQL 和 php 时遇到问题。我什至没有收到 SQL 错误,只是一个丑陋的 PHP 错误消息:
"警告:mysql_connect():在 C:\wamp\www\guildcreator\include\sql_conn.php 上 第 19 行调用堆栈 时间记忆功能位置 1 0.0004 252040 {main}( )
..\sub.php:0 2 0.0009 255208 包括( 'C:\wamp\www\guildcreator\include\sql_conn.php') ..\sub.php:5 3 0.0009 256344 mysql_connect()"
起初我以为我没有创建到服务器的连接。我尝试了相同地址的各种不同组合,有和没有端口号。我不明白为什么会出现此错误,因为如果 mysql_connect 失败,我应该会看到 die() 消息。
我读到了一些关于 mysql_ 功能陈旧且不受支持的信息,也许这是我的问题?任何帮助都会很棒:-)
这是我正在使用的代码:
$hostname = 'lolisrael.co.il:3306';
$sqluser = 'XXXXXX';
$sqlpass = 'XXXXXXXXX';
$link = mysql_connect($hostname, $sqluser, $sqlpass) or die("error zzzzz");
if ($link)
$db = mysql_select_db('_db', $link) or die("no db found");
供参考的提交页面:
<?php
if(isset($_POST['free_text']))
{
echo "<p>".$_POST['free_text']."</p>";
include "include/sql_conn.php";
if(isset($db))
{
$free_text = mysql_real_escape_string($_POST['free_text']);
$sql = "INSERT
INTO
orhalimi_test_conn(free_text)
VALUES ('{$free_text}')";
if(mysql_query($sql))
echo "ITS WORK!!!";
}
}
?>
【问题讨论】:
-
第 19 行是什么,也尝试使用 PDO 代替 mysql_connect
-
第 19 行是
$link = mysql_connect($hostname, $sqluser, $sqlpass) or die("error zzzzz");,如果 PDO 是一些需要安装在服务器上的扩展,它是不可能的 .. -
在该行之后尝试
echo mysql_error(),看看它是否有任何有用的信息。这可能不是问题的原因,但您不应该再使用mysql_函数(它们不再受支持),您应该改用mysqli_函数或PDO。 -
@OrHalimi 大多数 PHP 安装默认带有 PDO/MySQLi
-
好的,我会在这里尝试更新,谢谢!