结果没有预期的if/else
这是我的数据库结果没有预期的if/else
督促 - ID,标题,代码
UNAME - ID,电子邮件,名称,代码
======== edited ============
问题:
当我使用[email protected] 我总是得到回应1 - 这意味着它的工作
当我使用[email protected] 我可以一遍又一遍地添加同样的产品,总是得到响应2 - 这意味着什么是错的。
有什么想法?
谢谢
编辑==只是修复代码并粘贴一次。 我没有语法错误。
再次编辑。
现在正在进行一些sql修改。首先尝试使用PHP必须学习更多.. 不能一个一个地提到你的名字..但是,再次,谢谢!
如果0 int值比较一个字符串值,不是一个数字,结果永远是真正的
if(0 == "Hello") -> true
因为丧气从字符串到int返回true(0)0 == 0总是真正
编辑:没关系啊,你只是错过了$ -.-
但为什么[email protected]总是工作,但没有与[email protected]?这使我感到困惑:( – joe 2011-03-24 14:12:51
我敢打赌,你没有在你的数据库中使用email1,你正在做一些非常奇怪的事情,在数据库中搜索一封电子邮件,然后将你收到的电子邮件与你查找的电子邮件进行比较,所以如果电子邮件不在数据库中,第一个检查是错误的,如果东西检查是真的,你会得到响应2 – sharpner 2011-03-24 14:15:05
我有我的数据库上的[email protected]使用相同的产品代码,而[email protected]有独特的产品代码我不能使用[email protected]添加同样的产品[奇怪] – joe 2011-03-24 14:18:01
这是什么应该做的?
if (user2 == "email")
你需要一个前user
$
和"email"
应$email
,对不对?
此外,sql注入的代码已经成熟。 在将它们放入查询(更多信息:Protect against SQL injection)之前,用mysql_real_escape_string
转义所有输入变量。
@nick rulez说的是真的,你忘了$符号。
编辑:但是,mysql_fetch_array将ALSO返回的结果,如:
Array(
[0] => '[email protected]'
[1] => 'name'
);
你应该尝试使用mysql_fetch_assoc,这将产生与您正在寻找的数组中的键。
Array(
[**email**] => '[email protected]'
[name] => 'name'
);
干杯!
mysql_fetch_array默认生成一个组合数组/散列结构,除非你只特别请求这两种类型之一 – 2011-03-24 14:22:26
你是对的,道歉。但是,只要获取关联数组,基于@joe发布的代码提取。干杯! – fsodano 2011-03-24 14:51:18
您在这里缺少'$'if(user2 ==“email”)' – xzyfer 2011-03-24 13:54:24
您错过了'else'块中的一些大括号和引号。 – David 2011-03-24 13:57:08
只需再次粘贴代码..其实我没有语法错误。 – joe 2011-03-24 14:13:35