我想在sql中使用此函数插入,但这不起作用,任何想法来解决这个问题
错误是警告:mysqli_query()期望参数1为mysqli,在第29行的C:\ WampServer \ www \ test.php中给出null
<html>
<body>
<?php
$Connection = mysqli_connect('localhost', 'root', '', 'pytshqip');
$contact_method = 'aaaaa';
$form_data = array
(
'text' => $contact_method,
'from' => $contact_method,
'user_1' => $contact_method,
'user_2' => $contact_method,
'date' => time()
);
dbRowInsert('chat', $form_data);
function dbRowInsert($table_name, $form_data)
{
// retrieve the keys of the array (column titles)
$fields = array_keys($form_data);
// build the query
$sql = "INSERT INTO ".$table_name."
(`".implode('`,`', $fields)."`)
VALUES('".implode("','", $form_data)."')";
// run and return the query result resource
return mysqli_query($Connection, $sql);
}
?>
</body>
</html>
答案 0 :(得分:0)
您的变量超出了功能范围。在使用global $Connection;
之前,在dbRowInsert()
函数中添加$Connection
,以便能够访问函数范围内的变量。
答案 1 :(得分:0)
当您使用已在函数dbRowInsert()之外定义的变量$ Connection时,您需要使用global关键字。
function dbRowInsert($table_name, $form_data)
{
global $Connection;
// retrieve the keys of the array (column titles)
$fields = array_keys($form_data);
// build the query
$sql = "INSERT INTO ".$table_name."
(`".implode('`,`', $fields)."`)
VALUES('".implode("','", $form_data)."')";
// run and return the query result resource
return mysqli_query($Connection, $sql);
}
您可以在此处找到更多信息:http://php.net/manual/en/language.variables.scope.php