dsilhx5830 2016-04-23 07:20
浏览 50
已采纳

PHP初学者 - Where子句

Im very new to php and would like to know if my where clause is correct, i think that im missing something in my where clause. please see below:

<?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>

The output: It always gets the first gender of the 1st row in the database.

The Question: I wanted it to point to other records based on my where clause.

Notes and tried scenario:

  1. Id is the primary key in my DB <--- ID is int
  2. i also tried using WHERE fname = $val1 <-- this is a string

Many many thanks!

  • 写回答

1条回答 默认 最新

  • douhuan1905 2016-04-23 07:30
    关注

    Your code should work correctly when $val1 is a number.

    When it's a string, you need to put quotes around it in the SQL.

    $gen = "SELECT gender FROM tbl_users WHERE fname = '$val1'";
    

    But it would be best if you use a database API that supports prepared queries, either MySQLI or PDO. Then you don't have to worry about this at all.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?