我得到了所有这些警告:
E_WARNING文件�new.php�第214行出错:htmlspecialchars() 期望参数1为字符串,给定对象
E_WARNING文件�new.php�第214行出错: mysqli_real_escape_string()需要2个参数,1个给定
文件�new.php�第216行的E_WARNING错误:htmlspecialchars() 期望参数1为字符串,给定对象
我目前正在进行考试,当我不得不将项目从XAMPP移到我的网络服务器时,什么都行不通!我必须在几个小时内完成这个项目,并且它在我的本地主机上完美运行。但现在无论我做什么都不行。
我不是开发人员。我是一名设计师,我不知道为什么这不起作用。
这是我的代码:
// connect to the database
include('connect-db.php');
// check if the form has been submitted. If it has, start to process the form and save it to the database
if (isset($connection, $_POST['submit']))
{
// get form data, making sure it is valid
$first = mysqli_real_escape_string(htmlspecialchars($connection, $_POST ['firstname']));
$mail = mysqli_real_escape_string(htmlspecialchars($connection, $_POST['mail']));
$adresse = mysqli_real_escape_string(htmlspecialchars($connection, $_POST['adresse']));
$telefon = mysqli_real_escape_string(htmlspecialchars($connection, $_POST['telefon']));
$sprog = mysqli_real_escape_string(htmlspecialchars($connection, $_POST['sprog']));
答案 0 :(得分:1)
而不是
$first = mysqli_real_escape_string(htmlspecialchars($connection, $_POST ['firstname']));
使用
$first = mysqli_real_escape_string($connection, htmlspecialchars($_POST ['firstname']));
同样适用于其他变量。从错误中可以清楚地看出,mysqli_real_escape_string
应该提供连接变量,而不是htmlspecialchars
。
mysqli_real_escape_string
- mysqli_real_escape_string ( mysqli $link , string $escapestr )
[第一个参数应该是连接变量,第二个参数应该是要转义的字符串]
htmlspecialchars
- htmlspecialchars (string $string)
[第一个参数应该是要转换的字符串]