警告:mysqli_error()期望参数1是mysqli,在
中给出的字符串我想连接到一个名为ranch的数据库(使用xampp),并在此数据库中插入一些表单数据。浏览器显示错误:警告:mysqli_error()期望参数1是mysqli,在
Warning: mysqli_error() expects parameter 1 to be mysqli, string given in C:\xampp\htdocs\project1\register.php on line 38
ERROR: Could not able to execute INSERT INTO child_parent('childname','childsurname','age','gender','name','surname','address','tk','city','telephone','mobile','email','parea','pass') VALUES('nikos','ads','34','Αγόρι','sds','sds','dsd','34','dsds','34','434','[email protected]','sds','34').
我有下面的.php文件。 我该如何解决它?
<?php
ini_set('display_errors', 'On');
session_start();
unset ($msg);
\t echo "kajsj<br>";
\t $conn= new mysqli("localhost","root","","ranch");
\t
\t if (mysqli_connect_errno())
\t { printf("Connect failed: %s\n",mysqli_connect_error());//error message
\t }
\t else
\t {
\t printf("Connect achieved<br>");
\t echo $_GET['childname'];
\t $childname=$_GET['childname'];
\t $childsurname=$_GET['childsurname'];
\t $age=$_GET['age'];
\t $gender=$_GET['gender'];
\t $name=$_GET['name'];
\t $surname=$_GET['surname'];
\t $address=$_GET['address'];
\t $tk=$_GET['tk'];
\t $city=$_GET['city'];
\t $telephone=$_GET['telephone'];
\t $mobile=$_GET['mobile'];
\t $email=$_GET['email'];
\t $parea=$_GET['parea'];
\t $pass=$_GET['pass'];
\t // Insert data into mysql
\t $query1="INSERT INTO child_parent('childname','childsurname','age','gender','name','surname','address','tk','city','telephone','mobile','email','parea','pass')
\t \t \t \t \t \t \t \t VALUES('$childname','$childsurname','$age','$gender','$name','$surname','$address','$tk','$city','$telephone','$mobile','$email','$parea','$pass')";
\t
\t if(mysqli_query($conn, $query1))
\t {echo "Records added successfully.";
\t }
\t else{echo "ERROR: Could not able to execute $query1. " . mysqli_error($query1);
\t }
\t }
?>
有三个主要问题与您的代码:
- 错误的SQL。在尝试从PHP使用SQL之前,您必须学习基本的SQL语法。
- 错误的mysqli语法。您必须使用准备好的语句,而不是直接在查询中添加变量。
- 错误报告错误。您必须在异常模式下设置mysqli,而不是手动检查每个查询结果。
为了解决这些问题一个接一个,看这三个有用的答案:
4:将OOP和程序样式调用混合到'mysqli' – CD001
的可能的复制[MySQL的\ _fetch \ _array()期望参数1是资源(或mysqli \ _result),布尔给定](http://stackoverflow.com/questions/2973202/mysql-fetch-array- expect-parameter-1-to-resource-or-mysqli-result-boole)欢迎。但请记得在提问前做一个简单的搜索。这个问题之前一定要问过1000次。 – RiggsFolly