我不认为我的代码是问题,因为它在我的本地服务器上工作(编辑:对不起,如果这是错误的地方问,但我不能移动到自己的ServerFault)。但是,在远程服务器上,我无法使mysql_real_escape_string()正常工作。数据库连接正在工作,并在调用该函数之前连接。
当我尝试echo $_POST['email'];时,我获得了正确的数据,但是当我尝试echo mysql_real_escape_string($_POST['email']);时,我什么都没有收到。
我在离开错误报告时得到以下信息:
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: [2002] No such file or directory (trying to connect via unix://please_see_the_faq) in /f5/mysite/public/email_results.php on line 11
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: No such file or directory in /f5/mysite/public/email_results.php on line 11
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /f5/mysite/public/email_results.php on line 11有可能是PHP配置的东西造成这种情况?如果它很重要,我会与NearlyFreeSpeech主持。
这是我的插入代码:
$db->query('INSERT INTO emails VALUES ("sampleemail@gmail.com")');以下是我如何连接到数据库:
@ $db = new mysqli('mysite.db', 'wizard', '(password)', 'mysite');