php - PHP 中的 SQL SELECT 语句

标签 php sql oracle select

哪一个是正确的?

在 PHP 中使用单引号与双引号以及使用 Oracle 11g db 时遇到问题...

<?php 
$query1  = oci_parse($conn, 'SELECT * FROM SCHEMA.TABLE_A WHERE B_ID=' . $id);
$query1  = oci_parse($conn, "SELECT * FROM SCHEMA.TABLE_A WHERE B_ID='" . $id . "'");
?>

最佳答案

如果 id 是数字,则不应引用该值。如果是字符串,则应该。

无论如何,使用字符串操作来创建 SQL 语句通常是一种不好的做法,它会使您的应用程序容易受到 SQL 注入(inject)攻击。 相反,您应该使用准备好的语句:

$query1 = oci_parse($conn, 'SELECT * FROM SCHEMA.TABLE_A WHERE B_ID=:id');
oci_bind_by_name($query1, ":id", $id);
oci_execute($query1);

关于php - PHP 中的 SQL SELECT 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31885619/

相关文章:

sql - 如何调试ORA-01775 : looping chain of synonyms?

java - 使用 Android Studio 注册用户 PHP

MySQL 查询循环将单个查询中的列分组

php - 必须至少指定一个输出文件

mysql - 在一个查询中同时使用 GROUP BY 和 ORDER BY

mysql 查询为用户和相关表获取不同的值

sql - Oracle SQL打印特定列时间的行

java - JNDI .Net 实现

php - php5 软件包在 Ubuntu 16.04 LTS 上没有安装候选

php - cURL JSON post 不工作并且没有显示错误 PHP 7