Mysql 使用SQL查询

Mysql 使用SQL查询,mysql,Mysql,你能做到以下几点吗 $query = "SELECT username, first_name, last_name, gender, birthdate, city, state, picture, user_id FROM mismatch_user WHERE user_id = '" . $_SESSION['user_id'] . "'"; 我将这样说:为什么不:-) 如果您遇到一些

你能做到以下几点吗

  $query = "SELECT username, first_name, last_name, gender, 
                   birthdate, city, state, picture,  user_id 
              FROM mismatch_user
             WHERE user_id = '" . $_SESSION['user_id'] . "'";

我将这样说:为什么不:-)


如果您遇到一些问题或异常,我们需要一些上下文来理解您的代码。

真正的问题是您想做什么?简而言之,是的会的

如果您试图仅使用该查询运行该查询,那么仅此一项是行不通的,您首先需要连接到数据库

mysql_connect('host', 'user', 'pass'); 
选择要对其运行查询的数据库

mysql_select_db('database'); 
然后,您可以使用下面的代码运行查询,但是出于几个原因,您应该使用
sprintf()
mysql\u real\u escape\u string()
构建查询值

1) 它将通过只允许某些类型的数据来防止不需要的数据进入您的查询,在这种情况下,
%d
指有符号的整数,因此只允许一个数字

2) 使用
sprintf()
mysql\u real\u escape\u string()
将有助于防止SQL注入攻击

$query = sprintf("SELECT username, first_name, last_name, gender, birthdate, city, state, picture,  user_id 
                  FROM mismatch_user
                  WHERE user_id = %d", mysql_real_escape_string($_SESSION['user_id']));

$result = mysql_query($query);

while ($row = mysql_fetch_assoc($result)) {
    echo $row['first_name'];
    echo $row['last_name'];
}

我在我的项目中做过类似的事情。要使其正常工作,请尝试以下操作:

$query = "SELECT username, first_name, last_name, gender, birthdate, city, state, picture, user_id FROM mismatch_user 
WHERE (user_id = '".mysql_real_escape_string($user_id)."')
";
在执行此查询之前,您需要将其包括在内,以便它识别$user\u id:

  foreach (array('user_id') as $varname) {
        $user_id = (isset($_POST[$varname])) ? $_POST[$varname] : '';
      }

这有什么问题?不-这会导致我们所知道的世界末日-请停止!