使用PHP创建用户时连接MySQL错误

时间:2012-02-27 02:33:47

标签: php mysql

我试图创建一个用于注册用户并将其信息存储在MySQL表中的php表单。以下是PHP代码和MySQL表的错误。

  

警告:mysql_query():无法通过socket' /var/lib/mysql/mysql.sock'连接到本地MySQL服务器; (2)在第22行的/hsphere/local/home/khalidalomar/khalidalomar.com/talent/added.php警告:mysql_query():无法在/ hsphere / local / home / khalidalomar /中建立到服务器的链接第22行的khalidalomar.com/talent/added.php无效查询:无法通过socket' /var/lib/mysql/mysql.sock'连接到本地MySQL服务器; (2)

这是我的PHP代码     

include("connect.php");

// Talent table
$t_username = strip_tags(substr($_POST['t_username'],0,32));
$t_password = strip_tags(substr($_POST['t_password'],0,32));
$t_fname = strip_tags(substr($_POST['t_fname'],0,32));
$t_lname = strip_tags(substr($_POST['t_lname'],0,32));
$t_cname = strip_tags(substr($_POST['t_cname'],0,32));
$t_phone = strip_tags(substr($_POST['t_phone'],0,32));
$t_description = strip_tags(substr($_POST['t_description'],0,32));
$t_tags = strip_tags(substr($_POST['t_tags'],0,32));


$results = mysql_query("INSERT INTO talents (id, t_username, t_password, t_fname, t_lname, t_cname, t_phone, t_description, t_tags, t_approved, t_dateofreg)
VALUES ('', '$t_username', '$t_password', '$t_fname', '$t_lname', '$t_cname', '$t_phone', '$t_description', '$t_tags', 'N', NOW() )"); // store date by NOW() // date int(8)

if($results) { echo "Successfully Added"; } else { die('Invalid query: '.mysql_error()); }

?>

如果您需要我可以提供的SQL查询。

2 个答案:

答案 0 :(得分:2)

要么你的mysql.conf设置错误,你的php被编译为在错误的路径中搜索mysql.sock,或者你的mysql服务器没有运行。从我在您发布的代码中看到的内容,您根本没有连接到数据库?您在mysql_connect(); mysql_select_db();文件中有connect.php吗?

答案 1 :(得分:1)

之前发生过。只需在php验证之前定义连接或使用绝对路径。此外,您可以在会话文件中创建一个DB con类(假设您有一个,否则将其包含在连接中,只需在需要连接时进行实例化)

<?php $root = realpath($_SERVER["DOCUMENT_ROOT"]);
inlcude($root./connect.php);//edit the path as needed.
?>
除此之外,你应该知道永远不要使用相对路径,因为这是一个非常坏的习惯。另外,我不会使用mysql。去寻找mysqli参数化查询。这是一个升级的努力,但它值得一试。