2015-10-06 131 views
0

中给出的字符串我想连接到一个名为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 } 
 
?>

+2

的可能的复制[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

回答

4

有三个主要问题与您的代码:

  1. 错误的SQL。在尝试从PHP使用SQL之前,您必须学习基本的SQL语法。
  2. 错误的mysqli语法。您必须使用准备好的语句,而不是直接在查询中添加变量。
  3. 错误报告错误。您必须在异常模式下设置mysqli,而不是手动检查每个查询结果。

为了解决这些问题一个接一个,看这三个有用的答案:

  1. When to use single quotes, double quotes, and backticks in MySQL
  2. How can I prevent SQL injection in PHP?
  3. How to get mysqli error in different environments?
+0

4:将OOP和程序样式调用混合到'mysqli' – CD001

相关问题