我对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个参数(方法名称和表名),它可能是错误的。
顺便说一句,这是表结构,如果它可以帮助你帮助我:
答案 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);
}
}
?>