我在此处描述了相同的问题:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
但是,我确信我的凭据是正确的。
我正在使用托管公司和(tsohosts.co.uk)并假设MySql自动启动。
我不确定接下来要检查什么。有没有办法获得有关“或死”短语的更多细节。
这是我的代码:
$dbc = mysqli_connect("localhost","CorrectUser","CorrectPass",CorrectDB")
or die ('No can do');
$query = "INSERT INTO users(firstName,lastName,username,password,email,dateJoin,school,level) "
." VALUES ('value','value','value','value','value', NOW(),'value','Not yet set')";
mysqli_query($dbc, $query) or die ("I couldn't get it in!");
mysqli_close($dbc);
?>
,错误是
Warning: mysqli_connect() [function.mysqli-connect]: (HY000/2002): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in ../testdb.php on line 16
No can do
我是否必须在PHP脚本中启动MySQL?
答案 0 :(得分:0)
你错过了$dbc
中的双引号,试试这个
$dbc = mysqli_connect("localhost","CorrectUser","CorrectPass","CorrectDB")
or die ('No can do');
你在$query
的错误位置放了一个双引号和一个完整的句子,它应该是这样的
$query = "INSERT INTO users(firstName,lastName,username,password,email,dateJoin,school,level)
VALUES ('value','value','value','value','value', NOW(),'value','Not yet set')";
同时从$dbc
函数中删除mysqli_query()
,也可以转义die()
函数中的单引号,如下所示:
mysqli_query($query) or die ("I couldn't get it in!");