初学者 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 子句指向其他记录。
注意事项和尝试过的场景:
- Id 是我数据库中的主键 <--- ID 是 int
- 我也试过使用
WHERE fname = $val1
<-- 这是一个字符串
非常感谢!
当 $val1
是一个数字时,您的代码应该可以正常工作。
如果是字符串,需要在 SQL.
中用引号括起来
$gen = "SELECT gender FROM tbl_users WHERE fname = '$val1'";
但是最好使用支持准备查询的数据库API,MySQLI 或 PDO。那你就完全不用担心了。
我是 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 子句指向其他记录。
注意事项和尝试过的场景:
- Id 是我数据库中的主键 <--- ID 是 int
- 我也试过使用
WHERE fname = $val1
<-- 这是一个字符串
非常感谢!
当 $val1
是一个数字时,您的代码应该可以正常工作。
如果是字符串,需要在 SQL.
中用引号括起来$gen = "SELECT gender FROM tbl_users WHERE fname = '$val1'";
但是最好使用支持准备查询的数据库API,MySQLI 或 PDO。那你就完全不用担心了。