php函数从mysql表中选择数据
我使用以下函数从MYSQL数据库中选择数据:php函数从mysql表中选择数据,php,mysql,function,Php,Mysql,Function,我使用以下函数从MYSQL数据库中选择数据: if (!function_exists('select_array_where')) { function select_array_where($what, $from, $where){ $mysqli = new mysqli("host", "user", "password", "db"); if ($mysqli->connect_errno) { echo "<br>Failed to connect to
if (!function_exists('select_array_where')) {
function select_array_where($what, $from, $where){
$mysqli = new mysqli("host", "user", "password", "db");
if ($mysqli->connect_errno)
{
echo "<br>Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error . "<br>";
}
$result = $mysqli ->query("SELECT $what FROM $from WHERE $where");
$array = Array();
while ($row = mysqli_fetch_assoc($result)) {
$array[] = $row[$what];
}
print_r ($array);
return $array;
}
}
但它在以下情况下不起作用:
$company_int_array = array();
$company_int_array =& select_array_where("amount, perc", "inter_company", "transaction_type='interest'");
我有一种感觉,它与标点符号有关,我试过电影逗号“和‘四处,进进出出,但没有任何帮助
有人知道我做错了什么吗?好吧,你必须更换线路: $array[]=$row[$what]; 下面的句子:
$Whatsarr = explode ($what);
Foreach ($what as $col)
$aux[$col] = $row [$col];
$array []= $aux:
你的问题是
$array[] = $row[$what];
正在评估
$array[] = $row['amount perc'];
这是无效的,因为您没有一个名为'amount,perc'
的列
最简单的解决办法是改为
$array[] = $row;
这相当于
$array[] = array('amount'=>$row['amount'], 'perc'=>$row['perc']);
但是不要求您知道/指定实际的列名/键无论如何,请您复制收到的错误消息好吗?添加一个try..catch也是一个好主意。注意:未定义的索引:“amount”,“perc”
“amount,perc”,
这些需要分开“,不起作用,相信我只能有三件事介于”和“之间,因为函数的定义方式($what、$from和$where)尝试在每个单词周围使用勾号`
,数量,perc
和现有引号,或者包装整件事。这如何解决OP在这一行的问题-数组[]=$row[$what]代码>?这将计算为array[]=$row['amount','perc']代码>,无效。正确,这无助于我已修复我的答案您的编辑更接近,但这将每次为每列创建一个新的数组元素。因此,如果数据库中有2列3行,那么将有6个数组元素,每个数组元素中有1个键/值对,而不是3个数组元素,每个数组元素中有2个键/值对。您执行它是为了知道这一点吗?!请注意,Foreach循环仅包括itLuvin“that green;-)后面的第一行干得好,肖恩。
$array[] = array('amount'=>$row['amount'], 'perc'=>$row['perc']);