Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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 从一个表中获取ID字段(字段名称相同)_Php_Mysql - Fatal编程技术网

Php 从一个表中获取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

我现在正试图从my vendor表中获取ID字段。字段名是ID。我本以为可以将“vendor.ID”发送到我的sql查询,但它一直抛出错误,不返回任何数据

我认为问题在于我的users表也有一个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');
调用函数(末尾是“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分开你为什么叫它黑客?这不是正确的方法吗?我现在测试一下,让你知道它是否有效!啊,这是一个很好的发现。这是一个黑客,因为它“黑客”了你的内爆功能。从技术上说,你不需要``