PHP查询未从SELECT语句返回所有列。
PHP查询未从SELECT语句返回所有列。
require_once ('../configuration/data_conn.php'); ini_set('display_errors', 1); error_reporting(E_ALL); $sql = " SELECT product.id, product.name, product.code, product.supplier, product.date_created, product.total FROM product"; $req_sql = $conn->prepare($sql); $req_sql ->execute(); $data_sql = $req_sql ->fetchAll(PDO::FETCH_ASSOC); print_r($data_sql);
我只得到了3个字段:
[0] => Array ( [id] => 1511 [name] => 镜子 [code] => CD-13480 ) [1] => Array ( [id] => 1512 [name] => 椅子 [code] => CD-13481 )
但是当我在我的数据库工具中使用相同的查询时,它是正常的。
我确定我可以访问所有这些列,并且在我的php连接中使用相同的凭据登录到数据库。
感谢任何帮助。
问题原因:在SELECT语句中,对于包含特殊字符的列名supplier,作者将其类型更改为char,以解决问题。
解决方法:将特殊字符列名supplier的类型更改为char,即在SELECT语句中的product.supplier后面添加 :: char(100)。这样可以确保查询语句返回所有的列。
以下是作者提供的代码示例:
$sql = " SELECT product.id, product.name, product.code, product.supplier :: char(100), product.date_created, product.total FROM product";
感谢您的帮助。