2016-12-14 53 views
-4

我得到所有这些警告:PHP的问题很多警告(考试项目,需要帮助!)

E_WARNING错误文件new.php在行214:用htmlspecialchars() 预计参数1是字符串,对象给出

E_WARNING错误文件new.php在管线214: mysqli_real_escape_string()期望的是2个参数,在文件new.php 1个中给出

E_WARNING错误在管线216 :htmlspecialchars() e xpects参数1是字符串,对象给出

我目前正在进行我的考试,当我不得不将我的项目从XAMPP移动到我的web服务器时,什么都不会起作用!我必须在几个小时内完成这个项目,并且在我的本地主机上完美运行。但现在不管我做什么都行不通。

我不是开发者。我是一名设计师,我不知道为什么这不行。

这是我的代码:

// 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

你应该检查你正在使用的功能的手册... – jeroen

+2

其实警告信息是清楚的,你传递一个对象作为第一个参数htmlspeci alchars。 – Yoleth

回答

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) [第一参数应该是要转换的字符串]