Php 从一个表中获取ID字段(字段名称相同)
我现在正试图从my vendor表中获取ID字段。字段名是ID。我本以为可以将“vendor.ID”发送到我的sql查询,但它一直抛出错误,不返回任何数据 我认为问题在于我的users表也有一个ID字段。是否有特殊的方式向函数发送请求而不是“vendor.id”Php 从一个表中获取ID字段(字段名称相同),php,mysql,Php,Mysql,我现在正试图从my vendor表中获取ID字段。字段名是ID。我本以为可以将“vendor.ID”发送到我的sql查询,但它一直抛出错误,不返回任何数据 我认为问题在于我的users表也有一个ID字段。是否有特殊的方式向函数发送请求而不是“vendor.id” $data2 = display_all_orders($limit, 'fName', 'lName', 'VendorName', 'DateRequested', 'Shipping', 'VendorNumber', 'Vend
$data2 = display_all_orders($limit, 'fName', 'lName', 'VendorName', 'DateRequested', 'Shipping', 'VendorNumber', 'VendorFax', 'VendorAddress', 'VendorCity', 'VendorState', 'VendorZip', 'EquipmentConsumable', 'GasType', 'GasLocation', 'UNMTag', 'EquipmentLocation', 'index', 'totalcost', 'Approved', 'Shipped', 'user_id', 'vendor.id');
调用函数(末尾是“vendor.id”
$data2 = display_all_orders($limit, 'fName', 'lName', 'VendorName', 'DateRequested', 'Shipping', 'VendorNumber', 'VendorFax', 'VendorAddress', 'VendorCity', 'VendorState', 'VendorZip', 'EquipmentConsumable', 'GasType', 'GasLocation', 'UNMTag', 'EquipmentLocation', 'index', 'totalcost', 'Approved', 'Shipped', 'user_id', 'vendor.id');
获取并返回数据的函数:
function display_all_orders($limit)
{
$data = array();
$limit = (int)$limit;
$func_num_args = func_num_args();
$func_get_args = func_get_args();
// print_r($func_get_args);
if ($func_num_args > 1)
{
unset($func_get_args[0]);
$fields = '`' . implode('`, `', $func_get_args) . '`';
$results = mysql_query("SELECT $fields FROM `users` , `vendor` WHERE users.id = vendor.user_id ORDER BY vendor.DateRequested DESC");
for($x = 0; $x < $limit; $x++)
{
$data[] = mysql_fetch_assoc($results);
}
return $data;
}
}
?>
功能显示所有订单($limit)
{
$data=array();
$limit=(int)$limit;
$func_num_args=func_num_args();
$func_get_args=func_get_args();
//打印($func\u get\u args);
如果($func\u num\u args>1)
{
未设置($func_get_args[0]);
$fields='''''''.内爆(''''','$func\u get\u args)。''''';
$results=mysql_query(“从`users`、`vendor`WHERE users.id=vendor.user_id ORDER BY vendor.DateRequested DESC中选择$fields”);
对于($x=0;$x<$limit;$x++)
{
$data[]=mysql\u fetch\u assoc($results);
}
返回$data;
}
}
?>
如果我不尝试获取供应商id,它可以正常工作,但我发现我现在需要它……这些小东西太烦人了
好消息是我终于看到了曙光!感谢这里的所有人帮助我开发我的第一个webapp!您的代码生成了一个请求,其中包含一个错误的字段名
`vendor.id`
使用:
$data2 = display_all_orders($limit, 'fName', 'lName', 'VendorName', 'DateRequested', 'Shipping',
'VendorNumber', 'VendorFax', 'VendorAddress', 'VendorCity', 'VendorState', 'VendorZip',
'EquipmentConsumable', 'GasType', 'GasLocation', 'UNMTag', 'EquipmentLocation', 'index', 'totalcost',
'Approved', 'Shipped', 'user_id', 'vendor`.`id');
应该可以,但这是一个骇客问题。可能很傻的问题:你说你的vender表有一个字段:“ID”,但你的代码使用的“vender.ID”mysql是区分大小写的-它能这么简单吗?如果不能,请发布执行的确切查询(只需在mysql\u查询之前回显它)以及它给出的错误(mysql\u错误)抱歉!不,vendor表是小写的。谢谢!所以-请发布准确的查询和错误。哦,如果vendor.id在我的调用中,它不会返回任何数据。如果不是一切都正常。如果返回一个,有没有办法显示错误…我应该查一下!有趣的是,你需要将v分开你为什么叫它黑客?这不是正确的方法吗?我现在测试一下,让你知道它是否有效!啊,这是一个很好的发现。这是一个黑客,因为它“黑客”了你的内爆功能。从技术上说,你不需要``