SQL 错误,警告:`oci_execute()`:ORA-00996:连接运算符是 ||,不是 |在 C:\wa
SQL Error, Warning: `oci_execute()`: ORA-00996: the concatenate operator is ||, not | in C:\wa
我努力执行这个sql
$tarifekatalogcwsql=oci_parse($conn,'select TARIFE_ID, HIZMET_TURU, ALT_HIZMET_TURU, KAYIT_TARIHI, OM_TARIFE_ID from SMARTTBILL.TARIFE_KATALOG_CW
WHERE HIZMET_TURU='.$rowisemriabonecw[0].' AND ALT_HIZMET_TURU='.$rowisemriabonecw[1].' AND OM_TARIFE_ID='.$rowisemriabonecw[4].'');
你可以只考虑sql语句。当我执行这个查询时,我在 header.
中写的 returns 错误
在我的数据库表中,我有一些包含“|”的值性格,因此,系统给了我这样的错误。
OM_TARIFE_ID='.$rowisemriabonecw[4].'
这就是问题的根源。
OM_TARIFE_ID='1|1'
$rowisemriabonecw[4]='1|1'
两者相同,但系统认为“|”作为连接字符串的字符。
你能帮忙处理那个案子吗?我该如何处理这个问题?
试试这个:
$tarifekatalogcwsql=oci_parse(
$conn,
'select TARIFE_ID, HIZMET_TURU, ALT_HIZMET_TURU, KAYIT_TARIHI, OM_TARIFE_ID from SMARTTBILL.TARIFE_KATALOG_CW WHERE '
.'HIZMET_TURU = "' . $rowisemriabonecw[0] . '" AND '
.'ALT_HIZMET_TURU = "' . $rowisemriabonecw[1] . '" AND '
.'OM_TARIFE_ID = "' . $rowisemriabonecw[4] . '"'
);
但是你的方法是制作SQL注入的最简单方法!
这是正确的做法:
$tarifekatalogcwsql=oci_parse(
$conn,
'SELECT TARIFE_ID, HIZMET_TURU, ALT_HIZMET_TURU, KAYIT_TARIHI, OM_TARIFE_ID '
.' FROM SMARTTBILL.TARIFE_KATALOG_CW '
.'WHERE HIZMET_TURU = :HIZMET_TURU '
.' AND ALT_HIZMET_TURU = :ALT_HIZMET_TURU '
.' AND OM_TARIFE_ID = :OM_TARIFE_ID'
);
oci_bind_by_name($tarifekatalogcwsql, ":HIZMET_TURU", $rowisemriabonecw[0]);
oci_bind_by_name($tarifekatalogcwsql, ":ALT_HIZMET_TURU", $rowisemriabonecw[1]);
oci_bind_by_name($tarifekatalogcwsql, ":OM_TARIFE_ID", $rowisemriabonecw[4]);
我努力执行这个sql
$tarifekatalogcwsql=oci_parse($conn,'select TARIFE_ID, HIZMET_TURU, ALT_HIZMET_TURU, KAYIT_TARIHI, OM_TARIFE_ID from SMARTTBILL.TARIFE_KATALOG_CW
WHERE HIZMET_TURU='.$rowisemriabonecw[0].' AND ALT_HIZMET_TURU='.$rowisemriabonecw[1].' AND OM_TARIFE_ID='.$rowisemriabonecw[4].'');
你可以只考虑sql语句。当我执行这个查询时,我在 header.
中写的 returns 错误在我的数据库表中,我有一些包含“|”的值性格,因此,系统给了我这样的错误。
OM_TARIFE_ID='.$rowisemriabonecw[4].'
这就是问题的根源。
OM_TARIFE_ID='1|1'
$rowisemriabonecw[4]='1|1'
两者相同,但系统认为“|”作为连接字符串的字符。
你能帮忙处理那个案子吗?我该如何处理这个问题?
试试这个:
$tarifekatalogcwsql=oci_parse(
$conn,
'select TARIFE_ID, HIZMET_TURU, ALT_HIZMET_TURU, KAYIT_TARIHI, OM_TARIFE_ID from SMARTTBILL.TARIFE_KATALOG_CW WHERE '
.'HIZMET_TURU = "' . $rowisemriabonecw[0] . '" AND '
.'ALT_HIZMET_TURU = "' . $rowisemriabonecw[1] . '" AND '
.'OM_TARIFE_ID = "' . $rowisemriabonecw[4] . '"'
);
但是你的方法是制作SQL注入的最简单方法!
这是正确的做法:
$tarifekatalogcwsql=oci_parse(
$conn,
'SELECT TARIFE_ID, HIZMET_TURU, ALT_HIZMET_TURU, KAYIT_TARIHI, OM_TARIFE_ID '
.' FROM SMARTTBILL.TARIFE_KATALOG_CW '
.'WHERE HIZMET_TURU = :HIZMET_TURU '
.' AND ALT_HIZMET_TURU = :ALT_HIZMET_TURU '
.' AND OM_TARIFE_ID = :OM_TARIFE_ID'
);
oci_bind_by_name($tarifekatalogcwsql, ":HIZMET_TURU", $rowisemriabonecw[0]);
oci_bind_by_name($tarifekatalogcwsql, ":ALT_HIZMET_TURU", $rowisemriabonecw[1]);
oci_bind_by_name($tarifekatalogcwsql, ":OM_TARIFE_ID", $rowisemriabonecw[4]);