对不起这个非常初学的问题......我有一张像
这样的表格| 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';
}
但我认为我的推理是错误的,我是初学者......欢迎所有解决方案
答案 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';