我有以下代码PHP语法:PostgreSQL的大小写混合的表名
<?php
require "institution.php"
/* in this portion, query for database connection is executed, and */
$institution= $_POST['institutionname'];
$sCampID = 'SELECT ins_id FROM institution where ins_name= '$institution' ';
$qcampID = pg_query($sCampID) or die("Error in query: $query." . pg_last_error($connection));
/* this portion outputs the ins_id */
?>
我的数据库之前,没有大小写混合的表名,这就是为什么当我运行此查询,它显示没有错误可言。但是,因为我已经改变了我的数据库因为某些原因,它现在包含大小写混合的表名,我要改变上面的代码变成这样:
$sCampID = 'SELECT ins_id FROM "Institution" where ins_name= '$institution' ';
如该机构必须被双引号括起来。该查询返回解析错误。 当我删除这部分:其中ins_name ='$院校',没有发生错误。
我的问题是我该如何解决这个问题,其中包含混合大小写字母和值存储在一个变量(在这种情况下,$机构)表名称将在一个select语句进行组合?
您的回答和建议将非常感谢。
我建议您先阅读http://php.net/manual/en/security.database.sql-injection.php - 它也可能解决您的问题。 – Artefacto 2010-05-13 06:23:45
好的,非常感谢你。我明白了。 – yam 2010-05-15 07:12:52