mySQL请求无效

时间:2016-03-11 09:14:42

标签: php mysql json

我对PHP或mySQL的了解并不多,所以我希望你能帮助我。 我有一个带有函数的php脚本,它返回一个包含数据库表中所有条目的json:

public function select($table, $wheres = null)
{
    $connect = $this->connect();

    if ($wheres == null)
    {
        $query = mysqli_query($connect, 'SELECT * FROM `'.$table.'`');
    } else {
        $query = mysqli_query($connect, 'SELECT * FROM `'.$table.'` WHERE '.$this->wheres($wheres));
    }

    $i = 0;
    $ret = array();

    while ($row = mysqli_fetch_assoc($query)) {
        foreach ($row as $key => $value) {
            $ret[$i][$key] = $value;
        }

        $i++;
    }

    return ($ret);
}

编辑:

我有我的应用程序调用此函数。一切都按预期工作,但后来又向其中一个表添加了2个字段(1个文本,1个varchar),现在当我调用这个函数时,它什么也没有返回;字面上是一个空字符串。

我还注意到,如果我只是删除那些新的字段,它有点烦人,而且我需要那些字段,我无法弄清楚问题根源在哪里。

此外,应用程序代码不是问题:当调用此函数时,它只传递2个参数(方法名称和表名),它可能是错误的。

顺便说一句,这是表结构,如果它可以帮助你帮助我:

pic related

1 个答案:

答案 0 :(得分:1)

此函数可帮助您从json中获取数据表格,此返回json

<?php
function getData($tbl_name=null,$id=null)
{
    $con = mysqli_connect("localhost","root","","mydb"); //my db is my database name
    if(!$con){ die( "could't connect with database" ); } 

    $sql = mysqli_query($con,'SELECT * FROM $tbl_name WHERE id = {"$id"}');
    while($row = mysqli_fetch_assoc($sql))
    {
        #echo"<pre>";
        #print_r($row);       //this will return data form data base in array from
        return json_encode($row);

    }

}
?>