Проблем със заявка

Dizasterr

Registered
Здравейте! Написах си код, но ми изписва: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from, about, to, message) VALUES ('', 'Покана в гилдията ff', 'user', 'Нашата ги' at line 1. Ето и кода:
Код:
<?php
		require_once("../connection.php");
		mysql_query("SET NAMES cp1251");
		
		$name=$_GET['guild'];
		$select=mysql_query("SELECT * FROM `guilds` WHERE `name`='$name'") or die(mysql_error());
		$s=mysql_fetch_assoc($select);
		$members=$s['members'];
		echo "Име: <strong style='color: #1db1ee;'>".$s['name']."</strong>";
		echo "<br/>";
		echo "Основател: <strong style='color: #1db1ee;'>".$s['founder']."</strong>";
		echo "<br/>";
		echo "Девиз: <strong style='color: #1db1ee;'>".$s['motto']."</strong>";
		echo "<br/>";
		echo "Членове: <strong style='color: #1db1ee;'>".$s['members']."</strong>";
		echo "<br/>";
		echo "Пари: <strong style='color: #1db1ee;'>".$s['money']."</strong>";
		
		
		echo "<form method='post' action='' >";
		echo "<input type='text' name='invitep'>";
		echo "<input type='submit' name='invite'>";
		echo "</form>";
		
		$useri=$_POST['invitep'];
		$check_user=mysql_query("SELECT * FROM `users` WHERE `user` = '$useri'");
		$user_exist=mysql_num_rows($check_user);
		if(isset($_POST['invite']) && ($user_exist > 0)) {
			
			$from=$logged;
			$to=$useri;
			$about="Това е  ".$name."";
			$message="Чрез това: <a href='confirm.php?accept=".$name."'>Тук</a>";
		
			$ins=mysql_query("INSERT INTO `messages` (from, about, to, message) VALUES ('$from', '$about', '$to', '$message')") or die(mysql_error());
			
				if($ins) {
					echo "Вие успешно изпратихте покана до:<strong style='color: #1db1ee;'>".$to."</strong>";
				}else{
					echo "Възникна грешка при изпращането на поканата ви!";
			}		
		}
?>
 
Виж какво ти съдържат променливите ,които импортваш чрез тази заявка:
$ins=mysql_query("INSERT INTO `messages` (from, about, to, message) VALUES ('$from', '$about', '$to', '$message')") or die(mysql_error());
 
Слагай полетата в кавички
`from`,`message`...
специално това поле from ,ако е без кавички си остава резервирана дума на MySQL ,ето ти един списък с reserved words
 
Грешката ми е от тук:
Код:
<a href='confirm.php?accept=".$name."'>Тук</a>";
Като го махнах всичко си е наред, но в това не мога да открия грешката.
 
Оправих го, но сега следващия проблем. След като изпратя съобщението линка не се вижда. Защото аз искам да изпратя линка с ЛС.
 
Как мога да направя така както е тук в сайта при триенето на съобщенията. Срещу всеки си сложих checkboc, но заявката все ми дава грешки.
 
Правиш си малко чекбоксчета , с name="нещо[]"
<input type="checkbox" name="msgid[]" value="1" /> 1 <br />
<input type="checkbox" name="msgid[]" value="2" /> 2 <br />
<input type="checkbox" name="msgid[]" value="3" /> 3 <br />
<input type="checkbox" name="msgid[]" value="4" /> 4 <br />
<input type="checkbox" name="msgid[]" value="5" /> 5 <br />
след това ги прекарваш през един foreach и триеш записите
foreach ($_POST['msgid'] AS $msgid) {
mysql_query("DELETE FROM `table` WHERE `id` = '$msgid'")or die(mysql_error());
}
 
Пробвам така, но не става:
Код:
<?php
		require_once("../connection.php");
		mysql_query("SET NAMES cp1251");
		
		$logged=$_SESSION['login'];
		$select=mysql_query("SELECT * FROM `messages` WHERE `to`='$logged' AND `check`='0'") or die(mysql_error());
		while($m=mysql_fetch_assoc($select)) {
		$id=$m['id'];
		echo $m['from'];
		echo "<br/>";
		echo $m['about'];
		echo "<br/>";
		echo $m['message'];
		echo "<br/>";
		echo "<a href='view.php?id=".$id."'>Прочети</a>";
		echo "<br/>";
		echo "<input type='checkbox' name='del[]'>";
		echo "<br/>";
		echo "<br/>";
		}
		
		echo "<form method='post' action=''>";
		echo "<input type='submit' name='submit'>";
		echo "</form>";
		
		if(isset($_POST['submit'])) {
		
		foreach ($_POST['del'] AS $del) {
		mysql_query("DELETE FROM `messages` WHERE `to`='$logged' AND `id` = '$del'")or die(mysql_error());	
		}
		
		if($del) {
			echo "Checked";
		}else{
			echo "Error";
		}
		
		
		}
?>
 

Back
Горе