2012-11-15 28 views
0

我有一個類似戳的應用程序,它似乎沒有插入到表'pokes'中。插入代碼使得沒有插入php

儘管我的代碼看起來很好看,它似乎沒有顯示任何標誌? 任何想法?

if (@$_POST['poke']) { 
    $check_if_poked = mysql_query("SELECT * FROM pokes WHERE user_to='$username' AND user_from='$added_by'"); 
$num_poke_found = mysql_num_rows($check_if_poked); 
if ($num_poke_found == 1) { 
echo "Come on! Give the guy a chance!"; 
    } 
else 
if ($username == $cookie) { 
echo "You cannot Jab yourself."; 
} 
else 
    { $poke_user = mysql_query("INSERT INTO pokes VALUES ('', '$cookie', '$username')") or trigger_error(mysql_error()); 
echo "$username has been jabbed."; 
    } 

}

+0

從哪裏開始......請不要使用mysql_ *'函數,因爲它們在[deprecation process](http://news.php.net/php.internals/53799)中。改爲使用[MySQLi](http://php.net/manual/en/book.mysqli.php)或[PDO](http://php.net/manual/en/book.pdo.php),[be一個更好的PHP開發人員](http://jason.pureconcepts.net/2012/08/better-php-developer/)。 –

+0

請閱讀[SQL注入](http://php.net/manual/en/security.database.sql-injection.php)並修復你的代碼。 –

回答

1

在MySQL中你可以使用AND而非&&

SELECT * FROM pokes WHERE user_to='$username' AND user_from='$added_by' 

對於插入,你需要指定的列添加

INSERT INTO pokes (ColumnA, ColumnB) VALUES ('A', 'B') 

爲了進一步調試,試checking for errors ...

$result = mysql_query('SELECT * WHERE 1=1'); 
if (!$result) { 
    die('Invalid query: ' . mysql_error()); 
} 
+0

它不能修復插入壽,但謝謝:) –

+0

我現在也增加了一點INSERT。 – Fenton

+0

沒有任何返回。還是一樣。 –