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 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签)
  • ¥50 sft下载大文阻塞卡死