2016-12-05 34 views
0

我在PHP中使用SQL查询有一个问题,我试图找出我的代码有什么问题,无论如何,这段代码在通过phpMyAdmin的SQL查询中工作良好,并正确显示结果在PHP中的SQL查询语句不起作用

当我使用条件WHERE RoomNo =“D003”或房号(我想这两个“D003”和“D003”),它不会在所有

查询什么,请帮助。

这里是我的代码

onclick = "javascript: openListOfValue('ADD_LINE','Room','Select RoomNo, RoomType FROM Room WHERE RoomNo ="D003"','RoomNo,RoomType'); 

<script> 
function openListOfValue(mode, table, initSQL, columnname){ 
    window.open("listofvalue.php?mode="+mode+"&table="+table+"&initSQL="+initSQL+"&columnname="+columnname,"popup","width=600,height=350"); 
} 
</script> 
+1

'RoomNo =“D003””,' - >见的报价,你可以用一个反斜杠躲开他们。你确定要允许'listofvalue.php'来执行客户端需要的每个查询吗?我希望你不要。 – Federkun

回答

0

SQL字符串文字与单引号括起来。

由于您的HTML字符串文字使用双引号,因此您正在为您的Javascript字符串文字使用单引号。为了在这个字符串中有单引号,你必须转义它们。在Javascript中使用反斜杠逃逸单引号:

onclick = "javascript: openListOfValue('ADD_LINE','Room', 
    'Select RoomNo, RoomType FROM Room WHERE RoomNo = \'D003\'','RoomNo,RoomType');" 
+0

谢谢,Thorsten Kettner 我已经尝试过,但它的工作,但结果是“未找到数据” (窗口正确弹出,但搜索结果未找到) 接下来应该做什么? – novez

+0

我不知道。调试你的listofvalue.php也许看看它如何评估字符串以及它如何处理它们? –