我需要一些帮助。我在我的数据库中进行了一个SQL查询,它运行得很好。但是当我尝试将这个sam sql查询放入php时它不起作用。我无法弄明白错误在哪里。
//connection variables
$host = "localhost";
$database = "kjnjkyeo3";
$user = "root";
$pass = "probajovo11";
//connection to the database
$connection = mysql_connect($host, $user, $pass, $database)
or die ('cannot connect to the database: ' . mysql_error());
$sql = "SELECT ps_orders.id_order, ps_order_detail.id_order, ps_order_detail.product_reference AS Itemno, ps_order_detail.product_quantity AS Saleqty, ROUND(ps_order_detail.total_price_tax_incl, 2) AS Cost, DATE_FORMAT(ps_orders.date_add , \'%Y%m%dT%T\' ) AS Dateoftrans\n"
. "FROM ps_orders\n"
. "LEFT JOIN kjnjkyeo3.ps_order_detail ON ps_orders.id_order = ps_order_detail.id_order";
//loop to show all the tables and fields
$loop = mysql_query($sql)
or die ('cannot select tables');
我在我的sql查询中做了很多更改,但我总是得到msg什么不能选择表。 当我做一个简单的查询,如“从$ database中选择表格”时,它可以正常工作。
有人可以帮我解决这个问题。
向前推进。
这是一个较旧的项目,我进行了更改
//connection variables
$host = "localhost";
$database = "kjnjkyeo3";
$user = "root";
$pass = "probajovo11";
//connection to the database
$connection = mysql_connect($host, $user, $pass)
or die ('cannot connect to the database: ' . mysql_error());
//select the database
mysql_select_db($database)
or die ('cannot select database: ' . mysql_error());
$sql = "SELECT ps_orders.id_order, ps_order_detail.id_order, ps_order_detail.product_reference AS Itemno, ps_order_detail.product_quantity AS Saleqty, ROUND(ps_order_detail.total_price_tax_incl, 2) AS Cost, DATE_FORMAT(ps_orders.date_add , \'%Y%m%dT%T\' ) AS Dateoftrans FROM ps_orders LEFT JOIN ps_order_detail ON ps_orders.id_order = ps_order_detail.id_order";
//loop to show all the tables and fields
$loop = mysql_query($sql)
or die ('cannot select tables');
但它仍然无效
答案 0 :(得分:1)
$connection = mysql_connect($host, $user, $pass) or die ('cannot connect to the database: ' . mysql_error());
mysql_select_db($database);
$sql = "SELECT ps_orders.id_order, ps_order_detail.id_order,
ps_order_detail.product_reference AS Itemno, ps_order_detail.product_quantity AS Saleqty, ROUND(ps_order_detail.total_price_tax_incl, 2) AS Cost, DATE_FORMAT(ps_orders.date_add , \'%Y%m%dT%T\' ) AS Dateoftrans FROM ps_orders LEFT JOIN kjnjkyeo3.ps_order_detail ON ps_orders.id_order = ps_order_detail.id_order";
答案 1 :(得分:0)
mysql_connect
不允许您像选择那样选择数据库。您必须使用mysql_select_db
,有一天您还必须最终转移到mysqli
或PDO
。
$connection = mysql_connect($host, $user, $pass) or die ('cannot connect to the database: ' . mysql_error());
mysql_select_db($database);
答案 2 :(得分:0)
mysql_connect不接受$ database参数。 http://dk1.php.net/manual/en/function.mysql-connect.php,而是使用:
$connection = mysql_connect($host, $user, $pass)
mysql_select_db($database, $connection)
答案 3 :(得分:0)
使用mysql_select_db($database)告知查询运行的数据库。
如果您从多个数据库中进行选择,则可以使用这种方式来引用字段
`database_name`.`table_name`.`field_name`
或只是
`database_name`.`table_name`
表示FROM中的表格。
不推荐使用mysql_ *函数,如果你开始一个新项目使用mysqli或pdo