使用php代码调用MYSQL CREATE VIEW?
需要一些启发,这是我在这里的第一篇文章.
我想使用php调用并使用我之前创建的mysql视图…是否可能? 标准通用代码如下: $sql= " SELECT shipping.tarrif1,city.city_name FROM shipping JOIN city ON shipping.id_city = city.id_city"; $db->QueryArray($sql); while ($row = $db->Row()) { echo $row->city_name. " - " . $row->tarrif1 . "<br />n"; } 现在为MYSQL视图: $sql= " CREATE VIEW shipsumarry AS SELECT shipping.tarrif1,city.city_name FROM shipping JOIN city ON shipping.id_city = city.id_city"; 纯MYSQL命令: query: SELECT * FROM shipsummary 在PHP中: $sql = i'm badly stuck here...please help 我们如何使用php访问它. 谢谢你 增加1: 好的…让我重写一下这个例子: $sql1= " CREATE VIEW shipsumarry AS SELECT shipping.tarrif1,city.city_name FROM shipping JOIN city ON shipping.id_city = city.id_city"; $sql2= "SELECT * FROM shipsummary"; $db->QueryArray($sql2); $sql2看不到shipummary VIEW,因为它已经在另一个var中了 如何利用然后执行$sql1? &安培; $SQL2? 解决方法
PHP中的过程是相同的 – 客户端(PHP)将MySQL视图视为常规表,因此将其查询为
mysql_query("SELECT * FROM shipsummary"); // Or for whatever framework you're using: $db->QueryArray("SELECT * FROM shipsummary"); 应该正常工作.如果它无法正常工作,则您访问该视图的MySQL用户可能具有损坏的权限. (虽然看起来不太可能). UPDATE 在您编辑问题后,我可以非常清楚地看到问题. $sql1= " CREATE VIEW shipsumarry AS SELECT shipping.tarrif1,city.city_name FROM shipping JOIN city ON shipping.id_city = city.id_city"; $sql2= "SELECT * FROM shipsummary"; // Here,you need to execute $sql1 before $sql2 is useful. $db->QueryArray($sql1); // Now execute $sql2 $db->QueryArray($sql2); 我们不知道您正在使用什么数据库类或框架,但如果有一个类似于QueryArray()的方法不返回结果集,而只是执行一个语句,请使用它来创建视图. 现在,所有这一切…… 除非每次执行此代码时视图的定义必须更改,并且除非您有理由在每次执行此脚本执行结束时再进行DROP VIEW,所以它会产生远,远,更远……简单地在数据库中创建视图,它将永远保留,而不是继续使用PHP重新创建它.视图一旦创建,就会保持创建状态. 不要将它们视为临时查询时间/代码保护程序.在数据库中创建需要ONCE的视图(使用PHPMyAdmin或mysql CLI,或者创建表),然后使用PHP访问它们. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |