检查文本是否匹配php mysql(初学者)

时间:2016-04-18 15:24:15

标签: php mysql

对不起这个非常初学的问题......我有一张像

这样的表格
| id | block_1 | block_2|
-------------------------
| 1  | Mark    | John   |
| 2  | Antony  |        |
------------------------- 

我想检查单元格中的文本是否与我的变量匹配,例如$ name:

...
$sql = "SELECT * FROM my_table WHERE id='1'";
$res = mysql_query($sql, $connection);
$row = mysql_fetch_array($res);


$block1 = $row['block_1'];
$name = 'Mark';

if ($block1 == $name)
{
echo 'yes';
}
else
{
echo 'no';
}

但我认为我的推理是错误的,我是初学者......欢迎所有解决方案

4 个答案:

答案 0 :(得分:0)

使用mysql_fetch_array时,您无法使用$row[COLUMN_NAME]

您必须使用$row[COLUMN_INDEX]或使用mysql_fetch_assoc方法按列名获取。

  $row = mysql_fetch_assoc($res);
  $block1 = $row['block_1'];  

http://www.w3resource.com/php/function-reference/mysql_fetch_assoc.php

中了解详情

答案 1 :(得分:0)

试试这个:

$sql = 'SELECT * FROM my_table WHERE id="1"';

仅在单引号的内侧使用双引号可能会有所帮助。这没有必要......但它总是帮助我在实践中试图跟踪它们。如果您选择一个,请记住坚持下去....您在下面的代码中使用了单引号:

$name = 'Mark';
echo 'yes';

以上评论是正确的....
这是执行MYSQL调用的折旧方式,请考虑以下事项:Are there any security benefits to using PDO::query vs. mysql_query? 将mysql_query()切换到PDO :: query()并了解它的功能将使您保持最新状态。

祝你好运。

答案 2 :(得分:-1)

你只是错过了那里的一句话

$sql = "SELECT * FROM my_table WHERE id='1'";

答案 3 :(得分:-1)

您可以使用请求的变量计算结果。

$sql = "SELECT COUNT(*) as total FROM my_table WHERE id='1' AND block_1='Mark'";
$res = mysql_query($sql, $connection);
$row = mysql_fetch_assoc($res);
echo $row['total'] > 0 ? 'yes' : 'no';