php函数中的Select语句
我正在尝试创建一个函数,该函数将在mysql中接受一个查询,并使用mysql\u fetch\u assoc输出它 问题是当我在循环中返回输出时,它只输出第一个字段。同样,如果我返回循环外的输出,我只得到最后一个值 有什么办法可以解决这个问题吗 以下是主页:php函数中的Select语句,php,mysql,function,select,Php,Mysql,Function,Select,我正在尝试创建一个函数,该函数将在mysql中接受一个查询,并使用mysql\u fetch\u assoc输出它 问题是当我在循环中返回输出时,它只输出第一个字段。同样,如果我返回循环外的输出,我只得到最后一个值 有什么办法可以解决这个问题吗 以下是主页: <?php $dbhost = "localhost"; $dbuser = "widget_cms"; $dbpass = "cjclone123"; $dbdata = "widget_corp"; $connection = m
<?php
$dbhost = "localhost";
$dbuser = "widget_cms";
$dbpass = "cjclone123";
$dbdata = "widget_corp";
$connection = mysqli_connect($dbhost, $dbuser, $dbpass, $dbdata);
if(mysqli_connect_errno()) {
die("database connection failed: " .
mysqli_connect_error() .
" (" . mysqli_connect_errno() . ")"
);
} else {
echo "success!";
}
Insert_Line_Into_subjects();
$table = "subjects";
$result = Output_Table($table);
var_dump($result);
echo (Display_Table($result));
mysqli_free_result($result);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>phpMysql</title>
</head>
<body>
<ul>
<form action="phpMysql.php" method="post">
Menu Name: <input type="text" name="menuName" value=""><br>
Position: <input type="text" name="pos" value=""><br>
Visibility: <input type="text" name="vis" value=""><br>
<input type="submit" name="submit" value="Create account"><br>
</form>
</ul>
</body>
</html>
<?php mysqli_close($connection); ?>
phpMysql
菜单名:
职位:
可见性:
以下是我使用的所有函数:
function Insert_Line_Into_subjects(){
if (isset($_POST["submit"])) {
global $connection;
$menu_name = ($_POST["menuName"]);
$position = ($_POST["pos"]);
$visibility = ($_POST["vis"]);
$query1 = "INSERT INTO subjects ";
$query1 .= "(menu_name, position, visible) ";
$query1 .= "VALUES ('$menu_name', '$position', '$visibility')";
$result = mysqli_query($connection, $query1);
Check_SQL_Execution($result);
return $result;
}
}
function Check_SQL_Execution($result) {
global $connection;
if (!$result) {
die("<br>Database query failed: " . mysqli_error($connection));
}
}
function Output_Table ($table) {
global $connection;
$query1 = "SELECT * ";
$query1 .= "FROM {$table}" ;
$result1 = mysqli_query($connection, $query1);
Check_SQL_Execution($result1);
return $result1;
}
function Display_Table($result) {
//if (isset($_POST["submit"])){
$output = '';
while ($row = mysqli_fetch_assoc($result)) {
$output = $row["menu_name"];
$output .= " (";
$output .= $row["id"];
$output .= ")";
}
return $output;
}
函数将\u行\u插入\u主题(){
如果(isset($_POST[“提交”])){
全球美元连接;
$menu_name=($_POST[“menuName”]);
$position=($_POST[“pos”]);
$visibility=($_POST[“vis”]);
$query1=“插入主题”;
$query1.=“(菜单名称、位置、可见)”;
$query1.=“值(“$menu_name”、“$position”、“$VISILITY”)”;
$result=mysqli_query($connection,$query1);
检查SQL执行($result);
返回$result;
}
}
函数检查\u SQL\u执行($result){
全球美元连接;
如果(!$result){
die(
数据库查询失败:“.mysqli_错误($connection));
}
}
函数输出_表($Table){
全球美元连接;
$query1=“选择*”;
$query1.=“来自{$table}”;
$result1=mysqli\u查询($connection,$query1);
检查SQL执行情况($result1);
返回$result1;
}
函数显示表($result){
//如果(isset($_POST[“提交”])){
$output='';
while($row=mysqli\u fetch\u assoc($result)){
$output=$row[“菜单名称”];
$output.=“(”;
$output.=$row[“id”];
$output.=”;
}
返回$output;
}
我做错了什么?谢谢!返回的
行应该在循环外。您期望的输出是什么?我期望整个表都输出。每个菜单名和id。返回的行应该在循环外。您期望的输出是什么?我期望整个表都输出。每个菜单名和id。我尝试了这一点,但仅此而已y输出了表中的最后一个值。向我展示证据。向我展示完整的代码片段(在何处以及如何使用此函数),查询和执行查询的数据样本against@zach,Alex的代码片段的细微差别在于$output附加在每个循环上,而您每次都在对其进行重击。就是这样!谢谢。我尝试了这个,但它只输出了表中的最后一个值。向我展示证据。向我展示完整的代码片段(在何处以及如何使用此函数)、查询和执行查询的数据样本against@zach,Alex的代码片段的细微差别在于$output被附加到每个循环中,而您每次都在对它进行重击。就是这样!谢谢。
function Display_Table($result) {
$output = '';
while ($row = mysqli_fetch_assoc($result)) {
$output .= $row["menu_name"];
$output .= " (";
$output .= $row["id"];
$output .= ")";
}
return $output;
}