当前位置: 首页 > 面试题库 >

如何检查数据库列中存在的字符串?

司马羽
2023-03-14
问题内容

我有一个领域的文档表idsender_idreceiver_idreceiver_id包含像字符串值 U12,U13,U14,现在我当前登录的用户,我想在其中找到的所有记录receiver_id包含了我user_id的手段我user_id就是U13。现在如何编写查询以获取记录。

我的查询是:

$selDoc="SELECT * FROM documents WHERE sender_id='U".$_SESSION['userId']."' OR  "U".$_SESSION['userId']." IN (receiver_id) ORDER BY id DESC";

但我在“ where子句”中收到错误未知列“ U13”


问题答案:

您的字符串连接混乱了,应该是:( 进一步简化了

$selDoc="SELECT * FROM documents WHERE 'U".$_SESSION['userId']."' IN (senderID,receiver_id) ORDER BY id DESC";

当上面的语句被解析后,它将看起来像这样:

SELECT * 
FROM   documents 
WHERE  'UXX' IN (senderID,receiver_id)  // where XX is the userID
ORDER  BY id DESC

作为一个旁注,查询是脆弱的SQL Injection,如果值( 小号
变量)从外面走了进来。请查看下面的文章,以了解如何防止这种情况的发生。通过使用,PreparedStatements您可以摆脱在值周围使用单引号的麻烦。



 类似资料:
  • 问题内容: 我想知道是否有一种优雅的方法来检查数据库的存在?简而言之,如何测试数据库连接字符串的连接? 谢谢 问题答案: 设置在连接字符串中,并执行: 与设置为数据库的名称。 如果要整体检查连接字符串(而不是独立数据库的存在),请尝试以块形式连接到它。

  • 问题内容: 我正在尝试制作简单的Java代码,以检查MySQL DB中是否存在表和/或列。我应该使用Java代码进行检查还是生成一个SQL查询字符串并执行以进行检查? 编辑- @ aleroot- 我尝试使用您的代码,如下所示。运行以下代码时,我看不到任何表或列。我只看到这个 我的数据库有很多数据库,表和列。我不知道为什么该程序可以正常工作。 问题答案: 要检查表是否存在,可以按以下方式使用Dat

  • 我有两个 char 数组:一个用某个单词填充。例如 第二个是给定的大小,并填充从“a”到“z”的随机字符。 我需要计算一个单词在第二个数组中出现了多少次。例如,假设第二个数组是:< code>{'w ',' j ',' a ',' v ',' a'},给定的示例函数应该返回1,因为单词“java”在数组中只出现一次。 这是我的密码 当我将arr设置为与word相同时,它返回预期值,但当我将arr设

  • 问题内容: 我想知道如何检查数据库中的特定表(例如:myTable)中是否存在特定列(例如:日期)。 我已经阅读了此答案,该答案提供了一个查询,该查询导致另一个查询。 但是我需要的是结果。 更新1 如何在C#应用程序中做到这一点? 也许使用或其他? 问题答案: 感谢所有提供解决方案并收集了一些答案的人,我提出了自己的解决方案版本。也许这不是最好的解决方案,但是至少我不需要额外的dll来添加引用或处

  • 问题内容: 建立连接后是否可以检查(MySQL)数据库是否存在。 我知道如何检查数据库中是否存在表,但是我需要检查数据库是否存在。如果没有,我必须调用另一段代码来创建它并填充它。 我知道所有这些听起来都不太优雅-这是一个快速又肮脏的应用程序。 问题答案: 如果您只想知道数据库是否存在,以免在尝试创建数据库时出错,只需使用(From here):

  • 编辑:如何让js检查字符串是否包含数组的任何字符串,如var arrayVar=[“bing”,“google”];如果像“google是最好的吗?”这样的字符串,请检查它是否包含数组中的内容。这可能吗?