初学者 PHP - Where 子句

Beginner at PHP - Where clause

我是 php 的新手,想知道我的 where 子句是否正确,我认为我在 where 子句中遗漏了一些东西。请看下面:

<?php
$val1 = $_SESSION['dbase_user']['id'];

$gen = "SELECT gender FROM tbl_users WHERE id = $val1";
$result1 = dbQuery($gen);
$row1 = dbFetchAssoc($result1);
?>

<tr>
<td width="180" height="30" class="label"><strong>Gender</strong></td>
<td height="30" class="content">
<input type="text" class="frmInputs" size="10" value="<?php echo strtoupper($row1['gender']) ?>" disabled="disabled"/></td>
</tr>

输出:它总是获取数据库中第一行的第一个性别。

问题:我希望它根据我的 where 子句指向其他记录。

注意事项和尝试过的场景:

  1. Id 是我数据库中的主键 <--- ID 是 int
  2. 我也试过使用 WHERE fname = $val1 <-- 这是一个字符串

非常感谢!

$val1 是一个数字时,您的代码应该可以正常工作。

如果是字符串,需要在 SQL.

中用引号括起来
$gen = "SELECT gender FROM tbl_users WHERE fname = '$val1'";

但是最好使用支持准备查询的数据库API,MySQLI 或 PDO。那你就完全不用担心了。