我的网站有问题。 我想在php中创建一个页面。 在这个页面我想要用户邀请用户。 但我有一个错误。 我不知道该怎么办。 thx all。
错误: SQL错误:SQL语法中有错误;检查与MySQL服务器版本对应的手册,以便在第1行的''附近使用正确的语法。
并在标题中有一个连接数据库。 这不是我的问题。
我的代码:
<?php
include('header.php');
$n1 = rand(1, 9);
$n2 = rand(1, 9);
if(isset($_POST['send'])) {
$nr1 = base64_decode($_POST['nr1']);
$nr2 = base64_decode($_POST['nr2']);
$emailinvite = $db->EscapeString($_POST['email']);
$rec = $db->FetchArray($db->Query("SELECT id,login FROM `users` WHERE `login`='".$data['login']."'"));
if($nr1 + $nr2 != $_POST['captcha']){
$mesaj = '<div class="error">pliz try again.</div>';
}elseif($_POST['email'] == ""){
$mesaj = '<div class="error">empty email</div>';
}elseif ($db->GetNumRows($db->Query("SELECT id FROM `users` WHERE `email`='".$emailinvite."'")) > 0) {
$mesaj = '<div class="error">your friend register!</div>';
}else{
$newhash = rand(1000000,9999999);
$db->Query("INSERT INTO `inviteuser` (user,emailinvite,hash) values('".$data['login']."','".$emailinvite."','".$newhash."'");
$error = 0;
$subject ="invite to site";
$message="hello
the user {$rec['login']} want to invite you to :
http://www.like2hits.net
click here:
{$site['site_url']}/register.php?hash={$newhash}
thx!";
$header="{$site['site_email']} <{$site['site_email']}>";
$send_contact=mail($emailinvite,$subject,$message,$header);
$mesaj = "<div class=\"success\">thx you!</div>";
}
}?>
<div id="login">
<div class="top">
<h1>invite friend</h1>
</div>
<div class="content"><div class="msg"><?echo $mesaj;?></div>
<form id="form" method="post">
<input type="hidden" name="nr1" value="<? echo base64_encode($n1); ?>" />
<input type="hidden" name="nr2" value="<? echo base64_encode($n2); ?>" />
<fieldset>
<label>email of your friend</label>
<p><span class="fontawesome-user"></span>
<input name="email" type="email" value="" required="required" />
</p>
<label><?=($n1." + ".$n2." = ?")?></label>
<p><span class="fontawesome-user"></span>
<input name="captcha" type="text" value="" required="required" />
</p>
<p style="text-align: center; padding-top: 15px;">
<input type="submit" name="send" value="invite user" />
</p>
</fieldset>
</form>
</div>
</div>
<?
include('footer.php');?>
答案 0 :(得分:3)
一个常见的拼写错误:
$db->Query("INSERT INTO `inviteuser` (user,emailinvite,hash)
values('".$data['login']."','".$emailinvite."','".$newhash."'");
// ^ Closing Bracket
Missing
应该是:
$db->Query("INSERT INTO `inviteuser` (user,emailinvite,hash)
values('".$data['login']."','".$emailinvite."','".$newhash."')");
// ^ Closing Bracket
答案 1 :(得分:2)
$db->Query("INSERT INTO `inviteuser` (user,emailinvite,hash) values('".$data['login']."','".$emailinvite."','".$newhash."'");
您错过了)
答案 2 :(得分:-1)
我认为你的报价是错误的尝试:
$rec = $db->FetchArray($db->Query("SELECT id,login FROM 'users' WHERE 'login'='".$data['login']."'"));
和
$db->GetNumRows($db->Query("SELECT id FROM 'users' WHERE 'email'='".$emailinvite."'"))
和
$db->Query("INSERT INTO 'inviteuser' (user,emailinvite,hash) values('".$data['login']."','".$emailinvite."','".$newhash."'");
这取决于你拥有的mysql版本,但在我的版本中:``引号给我一个错误。 所以我使用''