2013-05-22 192 views
-3

我有簡單的代碼,並且我在其他文件中使用了類似的模板,但似乎我只是不能使這一個工作( )問題是,第一個$ sqlCommand執行得很好,並在此之後任何其他不起作用。即使用一些簡單的sql語句替換剩餘的代碼(在第一個$ sqlCommand之後),表不會更新(與任何其他表都是一樣的)。所有的priileges被授予我只是無法弄清楚什麼是錯在這裏...預先感謝幫助SQL命令不執行

<?php 
$con = mysqli_connect("localhost","root","","moviegallary") 
     or die('Could not connect: '. mysqli_connect_error()); 
$sqlCommand = "update movie set title='$_GET[title2]', category='$_GET[category2]', movieDesc='".mysql_real_escape_string($_GET['moviedesc2'])."',image='".mysql_real_escape_st ring($_GET['poster2'])."' where movieCode=$_GET[moviecode2];"; 

if (!mysqli_query($con,$sqlCommand)) 
{ 
    die ('Error: '.mysqli_error($con)); 
} 
echo '<h1>1 record in "movie" table updated</h1>'; 

foreach ($_GET['new_star'] as $new_star) 
{ 
    $query = mysqli_query($con,"select * from artist where concat(firstName,' ', lastName)='$new_star'"); 
    $count=mysqli_num_rows($query); 
    if ($count>0) { 
     $sqlCommand="insert into role select $_GET[moviecode2], artistID from artist where concat(firstName,' ', lastName)='$new_star ;"; 
     echo '<h1>1 record in "role" table is inserted</h1>'; 
    } 
} 

mysqli_close($con); 
?> 
+3

可愛[SQL注入攻擊](http://bobby-tables.com)漏洞。享受你的服務器pwn3d。這更讓人困惑,因爲你在一個地方調用mysqli_real_escape_string ... –

+2

** warning **你的代碼容易受到sql注入攻擊。 –

+0

推測'mysql_real_escape_st ring'只是一個粘貼錯誤,而不是你的代碼真的是如何? – halfer

回答

4

你不執行INSERT聲明。

mysqli_query($con, $sqlCommand); 

您需要開始使用預準備語句,因爲您的代碼易受SQL注入攻擊。

+0

謝謝,我錯過了mysqli_query($ con,$ sqlCommand); 但與最後一個它仍然無法工作 – user2410192

+0

每個mysqli_query後發現錯誤,事實證明我只是缺少一個報價..在這裏垃圾郵件) – user2410192