mysql - drupal 中选择查询的正确语法是什么

标签 mysql drupal drupal-6

如果我有一个名为 book 的表

Column 1 = current_user
, Column 2 = page_length
, Column 3 = author
, Column 4 = title

我想从第 2、3 和 4 列中选择与当前登录用户相对应的数据。以下语法正确吗?

<?
global $user;
$user_id=$user->name;
db_query('SELECT * FROM {book} WHERE current_user=$user_id', $page_length, $author,   $title); ?>

最佳答案

一些提示:

  1. 您需要确保在 SQL 语句字符串两边使用引号。
  2. 由于用户名是用户提供的字符串,因此您应该使用参数转义来防止 SQL 注入(inject)。
  3. 您实际上并不需要将用户名分配给单独的变量 ($user_id) 即可使用它。
  4. 您需要从db_query的返回值中检索结果。

固定代码:

<?php
global $user;
$res = db_query("SELECT page_length, author, title FROM {book} WHERE current_user = '%s'", $user->name); 
$row = db_fetch_array($res);
// now $row['page_length'], $row['author'] and $row['title'] are filled in with values if the query was successful
?>

关于mysql - drupal 中选择查询的正确语法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14448176/

相关文章:

c# - 错误 175 : The ADO. 具有不变名称 'MySql.Data.MySqlClient' 的 NET 提供程序未在计算机或应用程序配置文件中注册

mysql - 在一条记录sql中连接多个字段

java - MySql 左外连接未按预期工作

mysql - Jenkins 显示 "java.lang.ClassNotFoundException: com.mysql.jdbc.Driver"

drupal-6 - drupal 6 以编程方式登录用户

css - drupal,OM Maximenu 使用相同的 css 类包装所有内容 div

php - 用于访问 Drupal 7 中数据字段的简单 mysql 查询

嵌入在 Drupal 页面中的 jQuery 代码已覆盖其 css

php - 如何在注册时自动分配自定义角色?

php - 当有人发布到论坛主题时的 Drupal 电子邮件