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 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)