[英]Get info from URL and mysql database in PHP
当我尝试在一个较早的问题中发帖时,我想知道如何从URL和php中的mySQL数据库获取数据,然后比较结果以及它们是否相等运行一个事件。 到目前为止,我已经有了这段代码,但是只要URL中有一个id,它似乎就可以工作。 它从不对照mysql数据库中的id进行检查。 有任何想法吗?
这是代码:
<?php
$random = uniqid();
if ($id = $_GET['id']) {
$dbhandle = mysql_connect('host', 'user', 'password')
or die("Unable to connect to MySQL");
$selected = mysql_select_db('a6675286_main',$dbhandle)
or die("Could not select database");
$sql = "SELECT completed FROM authentication WHERE username='admin'";
$id2 = mysql_query($sql);
}
if ($id = $id2) {
mysql_query("UPDATE authentication SET completed = $random WHERE username = 'admin'");
include 'sendmail.php';
echo "You win";
}
else {
header('Location: http://www.websites.com/');
}
?>
if ($id = $id2)
错了!
你需要
if ($id == $id2)
也
($id == $_GET['id'])
$ id2不是id,因为mysql_query返回结果集。 要在PHP中使用查询结果集,请查看mysql_fetch_assoc之类的结果函数。
您不是在比较if语句中的值,而是将它们分配给try
if($ id == $ _GET ['id'])
和
if ($id == $id2)
另外,您正在为$ id2分配错误的值,您正在寻找的是
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$id2 = $row[0];
请纠正:
$id2 = mysql_query($sql);
您需要处理$ id2数组中的结果以获取所需的变量。
if ($id = $id2) {
... and if ($id = $_GET['id']) {
使用==
$id
不是数字。 这是一个mysql资源。
<?php
$random = uniqid();
if ($id == $_GET['id']) { //<-------Check this double '=='
$dbhandle = mysql_connect('host', 'user', 'password')
or die("Unable to connect to MySQL");
$selected = mysql_select_db('a6675286_main',$dbhandle)
or die("Could not select database");
$sql = "SELECT completed FROM authentication WHERE username='admin'";
$result = mysql_query($sql) or die(mysql_error()); //<------------ it is a mysql resource
$row = mysql_fetch_assos($result);
$id2 = $row['completed']; //<----- Now the value comes
}
if ($id == $id2) { //<-------Check this double '=='
mysql_query("UPDATE authentication SET completed = $random WHERE username = 'admin'");
include 'sendmail.php';
echo "You win";
}
else {
header('Location: http://www.websites.com/');
}
?>
“ =”正在分配运算符。 这意味着将左操作数设置为右侧表达式的值。
'=='和'==='是比较运算符。
x == y(等于)
x === y(相同)它也检查类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.