2012-06-11 138 views
0

我有两个不同的表projectpayments。当我插入支付我想要的flagproject表中的值,如果$money inserted是完全一样的cost值(costproject表中的另一小区)和$order = proj_name将更改为paid插入数据到一个表中并更新另一个

这是代码!

<?php 
include("connect.php"); 
// define variables 
$name = $_POST['name']; 
$order = $_POST['order']; 
$money = $_POST['money']; 
$date = $_POST['date']; 

$sql="INSERT INTO payments VALUES 
('','$name','$order','$money','$date')"; 

$s="UPDATE project SET flag='payed' WHERE proj_name='$order' AND cost like '%money%'"; 
mysql_query($s); 
echo '<center>' ."Payment stored successfully". '</center>'; 
echo '<center>'."<a href='payments_edit.php'>View Changes</a>".'</center>'; 

if (!mysql_query($sql,$con)) 
    { 
    die('Error: ' . mysql_error()); 
    } 

mysql_close();?> 

如果你想上什么任何更多的信息让我知道:)

+3

什么是真正的问题?顺便说一下,我感觉SQL注入。 – Leri

+0

不介意注射..它在大学的一个项目:P实际的问题是,当我们说订单成本500美元,我是500美元时......没有什么反应,而我想要标志的价值改变支付和如果我插入确切的值,不会保持挂起! – ekptwtos

+0

请不要将'mysql_ *'函数用于新代码。他们不再被维护,社区已经开始[弃用流程](http://goo.gl/KJveJ)。请参阅[**红框**](http://goo.gl/GPmFd)?相反,您应该了解[准备好的语句](http://goo.gl/vn8zQ)并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能决定,[本文](http://goo.gl/3gqF9)将有助于选择。如果你关心学习,[这里是很好的PDO教程](http://goo.gl/vFWnC)。 –

回答

2

你缺少$AND cost like '%money%'。它应该是AND cost like '%$money%'

+1

和我盯着显示器几个小时,看看什么是失踪:S TY ALL – ekptwtos

相关问题