function ($input1, $input2) { (then the code here) }
失败了。这与变量有关吗?或者你(只是猜测)不能要求"#34;函数中的某些东西?
无论如何......这里是代码。我觉得这是简单而语法的东西,但我完全难过。这是代码:
//Set the connection or die returning an error.
require "connection.php";
echo 'connected';
// Make the query:
$query = "INSERT INTO message (col1, col2) VALUES ('$somedata1', '$somedata2')";
$result = @mysqli_query ($myconnection, $query); // Run the query.
if ($result) { // If it ran OK.
echo "Success!";
} else { // If it did not run OK.
echo "Error";
} // End of if
mysqli_close($myconnection); // Close the database connection.
//Free the result set.
mysqli_free_result($result);
//Close the connection.
mysqli_close($myconnection);
echo "<span style='color:red;'>Done.</span>";
编辑以添加更多代码:
首先,数据库连接如下:
<?php
DEFINE ('DB_USER', 'abcdef');
DEFINE ('DB_PASSWORD', '12345');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'mydb');
// Make the connection:
echo "Defined.";
$myconnection = mysqli_connect (DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
OR die ('Could not connect to MySQL: ' . mysqli_connect_error() );
echo "Connected.";
// Set the encoding...
mysqli_set_charset($myconnection, 'utf8');
?>
我没有在具有该功能的页面中的任何其他地方调用它。我的希望是拥有连接所需的一切并将所有内容紧密存储在函数内部。也许这有助于或更有意义?
我没有达到调用该功能的程度。将其与其他功能一起包含在顶部会导致出现白色空白页面。
答案 0 :(得分:1)
您正在使用在函数外部定义的变量$myconnection
,$data1
和$data2
。将此行添加到函数的开头,它将起作用。请注意,您必须将每个变量的名称放在那里使用但未在函数中定义。
global $myconnection, $data1, $data2;
另外,不要将require
放在函数中。
编辑:正如许多人所建议的,我将包括其他方式。
函数参数:
function func($myconnection, $data1, $data2) {
// ...
}
// Calling the function
func($myconnection, $data1, $data2);
<强> $GLOBALS
强>
将所有$myconnection
,$data1
和$data2
替换为$GLOBALS['myconnection']
,$GLOBALS['data1']
和$GLOBALS['data2']
。