Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php函数中的Select语句_Php_Mysql_Function_Select - Fatal编程技术网

php函数中的Select语句

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

我正在尝试创建一个函数,该函数将在mysql中接受一个查询,并使用mysql\u fetch\u assoc输出它

问题是当我在循环中返回输出时,它只输出第一个字段。同样,如果我返回循环外的输出,我只得到最后一个值

有什么办法可以解决这个问题吗

以下是主页:

<?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;
}