检查所需数据是否在数据库中的正确方法是什么?
我目前使用的是,
mysql_query("SELECT anyfield FROM table WHERE field='$data'");
然后检查是否有任何行受到影响.
但我对提取的数据没有任何用处anyfield.虽然资源使用量很小,但是在没有从表中提取任何其他字段的情况下检查数据是否存在于数据库中的正确方法是什么?
我真的不知道这有什么不对.我曾经写过完全相同的东西,并让它工作.
$check = mysql_query("SELECT encrypt FROM database WHERE word='$word'") or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)
返回的错误是:您的SQL语法中有错误; 查看与您的MySQL服务器版本对应的手册,以便在第1行的'database WHERE word ='asdaasdasdd''附近使用正确的语法
$update = mysql_query("UPDATE users SET regstatus='TRUE' WHERE username='$id' AND regstring='$key'") or die(mysql_error());
if (mysql_num_rows($check)>0)
header("refresh:3;url=login.php");
echo "Your account is active now. Redirecting to login page."; }
Run Code Online (Sandbox Code Playgroud)
我得到一个输出您的帐户现在处于活动状态.重定向到登录页面并将我重定向到登录页面.
但价值regstatus没有得到更新.作为调试的一部分,我在查询中检查mysql_num_rows,它说一行受到影响,但值仍未更新.
有任何想法吗?列regstatus是varchar.
根据建议更新了代码:
$update = mysql_query("UPDATE users SET regstatus='True' WHERE username='$id' AND regstring='$key'") or
die(mysql_error());
if (mysql_num_rows($update)>0)
{
header("refresh:3;url=login.php");
echo "Your account is active now. Redirecting to login page.";
}
Run Code Online (Sandbox Code Playgroud)
现在我得到:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /activate.php on line 27
代码:
$html = file_get_html('http://url.com');
$ret = $html->find('div[samplediv]');
echo $ret;
Run Code Online (Sandbox Code Playgroud)
我得到的输出只是数组.这意味着它是空的.我确信div是在我正在抓取的页面上预设的.
另外,我想要实现的另一件事是,从html中获取文本.当我简单地将其转换为纯文本时,会导致许多不需要的数字和内容.所以我要做的是,获取我在浏览器中看到的文本.(而不是从HTML获取整个文本).
欢迎所有建议.