PHP mysqli_query 需要至少 2 个参数
PHP mysqli_query expects at least 2 parameters
所以我的问题是这段代码给了我
警告:mysqli_query() 需要至少 2 个参数,其中 1 个在第 13 行的 C:\wamp\www\forum\create_cat.php 中给出
如果有人知道这里有什么要解决的,请帮助
$sql = "SELECT
cat_id,
cat_name,
cat_description,
FROM
categories";
$result = mysqli_query($sql);
if(!$result)
{
echo 'The categories could not be displayed, please try again later.';
}
else
}
if(mysqli_num_rows($result) == 0)
{
echo 'No categories defined yet.';
}
else
{
echo '<table border="1">
<tr>
<th>Category</th>
<th>Last topic</th>
</tr>';
while($row = mysqli_fetch_assoc($result))
{
echo '<tr>';
echo '<td class="leftpart">';
echo '<h3><a href="category.php?id">' . $row['cat_name'] . '</a></h3>' . $row['cat_description'];
echo '</td>';
echo '<td class="rightpart">';
echo '<a href="topic.php?id=">Topic subject</a> at 10-10';
echo '</td>';
echo '</tr>';
}
}
我正在使用这个其他文件连接到 mydb
$server = 'localhost';
$username = 'root';
$password = '';
$database = 'project yi';
$link=mysqli_connect($server, $username, $password, $database);
这里有一些东西可以满足您的需求。希望这有效:)
<?php
$Connection = mysql_connect('localhost', 'DBNAME', 'PASSWORD');
if (!$Connection) {
die('ACCESS DENIED: Cannot make a Secure Connection to the Database.<br><br>' . mysql_error());
}
$Database = mysql_select_db('main_webapp', $Connection);
if (!$Database) {
die ('DIED' . mysql_error());
}
$query = "SELECT * FROM table_name ORDER BY column_name ASC";
$result = mysql_query( $query );
if ( !$result ) {
$ErrorMessage = 'Invalid query: ' . mysql_error() . "\n";
$ErrorMessage .= 'Whole query: ' . $query;
die( $ErrorMessage );
}
$JSON_output = array();
while ( $row = mysql_fetch_assoc( $result ) )
{
$JSON_output[] = array('column_name' => $row['column_name'],
'column_name' => $row['column_name'],
'column_name' => $row['column_name'],
'column_name' => $row['column_name']
);
}
header( "Content-Type: application/json" );
$JSON_output = json_encode($JSON_output);
echo $JSON_output;
mysql_close($Connection);
?>
你的输出将是 post 通过 JSON 到 json.php
要调用网页上的代码,您需要做
<script type="text/javascript">
jQuery.ajax({
type: "GET",
url: "json.php",
dataType: "json",
success: function(response){
$.each(response, function(key, value){
var html = '' +
'<center><div class="col-md-3">'+value.column_name+'</div>'+
'<div class="col-md-3">'+value.column_name+'</div>'+
'<div class="col-md-3">'+value.column_name+'</div>'+
'<div class="col-md-3">'+value.column_name+'</div></center>';
$("#JSON_output").append(html);
});
}
});
</script>
这里有一些错误。
首先,您需要将数据库连接传递给您的查询。
您目前使用的是:
$result = mysqli_query($sql);
您需要改用什么:
$result = mysqli_query($link, $sql);
阅读文档:
程序风格
mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
然后,您在 cat_description
之后的查询中有一个尾随逗号
$sql = "SELECT
cat_id,
cat_name,
cat_description, <<< right there
FROM
categories";
- 您需要删除它。
检查您的查询是否有错误会发现这一点。
您最初没有 post 但在评论中留下的代码的额外答案:
为了回答您在上面 post 编辑的内容而不是您原来问题的一部分,您的回声包装引号是单引号并且您也在其中使用单引号。
- 就这样
echo "<p><form method='post' ...";
您在开始和结束语句中都使用了单引号,并且在 echo 语句中使用了单引号。
重写:
echo "<p><form method='post' action='create_cat.php'></p>
Category name: <input type='text' name='cat_name' />
Category description: <textarea name='cat_description' /></textarea>
<input type='submit' value='Add category' /> </form>";
所以我的问题是这段代码给了我 警告:mysqli_query() 需要至少 2 个参数,其中 1 个在第 13 行的 C:\wamp\www\forum\create_cat.php 中给出 如果有人知道这里有什么要解决的,请帮助
$sql = "SELECT
cat_id,
cat_name,
cat_description,
FROM
categories";
$result = mysqli_query($sql);
if(!$result)
{
echo 'The categories could not be displayed, please try again later.';
}
else
}
if(mysqli_num_rows($result) == 0)
{
echo 'No categories defined yet.';
}
else
{
echo '<table border="1">
<tr>
<th>Category</th>
<th>Last topic</th>
</tr>';
while($row = mysqli_fetch_assoc($result))
{
echo '<tr>';
echo '<td class="leftpart">';
echo '<h3><a href="category.php?id">' . $row['cat_name'] . '</a></h3>' . $row['cat_description'];
echo '</td>';
echo '<td class="rightpart">';
echo '<a href="topic.php?id=">Topic subject</a> at 10-10';
echo '</td>';
echo '</tr>';
}
}
我正在使用这个其他文件连接到 mydb
$server = 'localhost';
$username = 'root';
$password = '';
$database = 'project yi';
$link=mysqli_connect($server, $username, $password, $database);
这里有一些东西可以满足您的需求。希望这有效:)
<?php
$Connection = mysql_connect('localhost', 'DBNAME', 'PASSWORD');
if (!$Connection) {
die('ACCESS DENIED: Cannot make a Secure Connection to the Database.<br><br>' . mysql_error());
}
$Database = mysql_select_db('main_webapp', $Connection);
if (!$Database) {
die ('DIED' . mysql_error());
}
$query = "SELECT * FROM table_name ORDER BY column_name ASC";
$result = mysql_query( $query );
if ( !$result ) {
$ErrorMessage = 'Invalid query: ' . mysql_error() . "\n";
$ErrorMessage .= 'Whole query: ' . $query;
die( $ErrorMessage );
}
$JSON_output = array();
while ( $row = mysql_fetch_assoc( $result ) )
{
$JSON_output[] = array('column_name' => $row['column_name'],
'column_name' => $row['column_name'],
'column_name' => $row['column_name'],
'column_name' => $row['column_name']
);
}
header( "Content-Type: application/json" );
$JSON_output = json_encode($JSON_output);
echo $JSON_output;
mysql_close($Connection);
?>
你的输出将是 post 通过 JSON 到 json.php
要调用网页上的代码,您需要做
<script type="text/javascript">
jQuery.ajax({
type: "GET",
url: "json.php",
dataType: "json",
success: function(response){
$.each(response, function(key, value){
var html = '' +
'<center><div class="col-md-3">'+value.column_name+'</div>'+
'<div class="col-md-3">'+value.column_name+'</div>'+
'<div class="col-md-3">'+value.column_name+'</div>'+
'<div class="col-md-3">'+value.column_name+'</div></center>';
$("#JSON_output").append(html);
});
}
});
</script>
这里有一些错误。
首先,您需要将数据库连接传递给您的查询。
您目前使用的是:
$result = mysqli_query($sql);
您需要改用什么:
$result = mysqli_query($link, $sql);
阅读文档:
程序风格
mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
然后,您在 cat_description
$sql = "SELECT
cat_id,
cat_name,
cat_description, <<< right there
FROM
categories";
- 您需要删除它。
检查您的查询是否有错误会发现这一点。
您最初没有 post 但在评论中留下的代码的额外答案:
为了回答您在上面 post 编辑的内容而不是您原来问题的一部分,您的回声包装引号是单引号并且您也在其中使用单引号。
- 就这样
echo "<p><form method='post' ...";
您在开始和结束语句中都使用了单引号,并且在 echo 语句中使用了单引号。
重写:
echo "<p><form method='post' action='create_cat.php'></p>
Category name: <input type='text' name='cat_name' />
Category description: <textarea name='cat_description' /></textarea>
<input type='submit' value='Add category' /> </form>";