我知道必须在mysqli中编写mysql的新部分。我无法对数据库执行这些插入查询。我搜索了很多,但找不到简单的建议,或者可能是我不明白。
未定义的变量:第32行的C:\ wamp \ www \ New folder \ php \ msqliconnect.php中的mysqli
致命错误:在第32行的C:\ wamp \ www \ New文件夹\ php \ msqliconnect.php中的非对象上调用成员函数mysqli_query()
感谢任何帮助。
$ awk 'NR==FNR{a[$2];next}($3 in a){print "FOUND"}' <(zcat a.txt.gz ) <(zcat b.txt.gz)
FOUND
FOUND
FOUND
FOUND
awk '
NR==FNR { # first file hash to a on second field
a[$2]
next } # next record
($3 in a){ # second file
print "FOUND" } # print FOUND when found (more informative?)
' <(zcat a.txt.gz ) <(zcat b.txt.gz) # uncompress and use process substitution
答案 0 :(得分:1)
在您的connect()
和insertdata()
两种方法中,您使用的是本地变量 $mysqli
,而不是实例变量 public $mysqli;
。您应该在实例方法中使用$this->mysqli
而不是$mysqli
。因此,您的connect()
和insertdata()
方法将如下所示:
function connect(){
$hostname = "localhost";
$username = "root";
$password = "";
$database = "demodatabase";
$this->mysqli = new mysqli($hostname, $username, $password, $database);
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
return true;
}
和
function insertdata($a, $b){
$insert_row = $this->mysqli->query("INSERT INTO tb_user (id, user, password, status) VALUES('','".$a."', '".$b."', '')");
if($insert_row){
print 'saved';
}else{
die('Error : ('. $this->mysqli->errno .') '. $this->mysqli->error);
}
}
旁注:了解prepared statement因为您的查询现在容易受到SQL注入攻击。另请参阅how you can prevent SQL injection in PHP。