2014-02-24 113 views
0

对PHP和MySQL来说很新颖。插入语句不起作用。不转移到其他表

我已经在我的php脚本中创建了一条insert语句,将一行数据从一个表转移到另一个表的某些字段。唯一的事情是,它似乎没有工作?

任何人都可以看到问题出在哪里吗?

<?php 

require_once('auth.php'); 

$host=""; // Host name 
$username=""; // Mysql username 
$password=""; // Mysql password 
$db_name=""; // Database name 
$tbl_name="Instruction"; // Table name 

// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

$sql="INSERT INTO Triage (Reference,Forename,surname,D.O.B,Mobile Number,Home Number,Address,Postcode1,Email,Accident,Details); 
VALUES (Reference,Forename,surname,DOB,Mobile,Home,Address,Postcode1,Email,Accident,Details)"; 
$result=mysql_query($sql); 

// 
while($rows=mysql_fetch_array($result)){ 
echo '<a href="update.php?Reference='.$rows['Reference'].' ">update test</a>'; 
} 
// 
// end of while loop 

echo "Successful"; 
echo "<BR>"; 
echo "<a href='list_records.php'>View result</a>"; 

?> 

更新

// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

$Reference=$_REQUEST['Reference']; 
$Forename=$_REQUEST['Forename']; 
    $surname=$_REQUEST['surname']; 
$DOB=$_REQUEST['DOB']; 
$Mobile=$_REQUEST['Mobile']; 
$Home=$_REQUEST['Home']; 
$Address=$_REQUEST['Address']; 
$Postcode=$_REQUEST['Postcode1']; 
$Email=$_REQUEST['Email']; 
$Accident=$_REQUEST['Accident']; 
$Details=$_REQUEST['Details']; 


//semi colon removed 
$sql="INSERT INTO Triage (Reference,Forename,surname,D.O.B,Mobile Number,Home Number,Address,Postcode1,Email,Accident,Details) 
VALUES('.$Reference.','.$Forename.','.$surname.','.$DOB.','.$Mobile.','.$Home.','.$Address.','.$Postcode1.','.$Email.','.$Accident.','.$Details.')"; 
$result=mysql_query($sql); 


echo "Successful"; 
echo "<BR>"; 
echo "<a href='list_records.php'>View result</a>"; 


?> 
+0

您是否使用过'mysql_error()'来检查是什么问题? –

+0

你能给我们提供这个错误吗? –

+0

你能告诉我什么,我需要添加到脚本中,以获取错误,请 – user3301611

回答

0

首先应该解决的任务:

$Reference=$_REQUEST['Reference']; 
$Reference=$_REQUEST['Forename']; 
... 

应该是这样的:

$Reference=$_REQUEST['Reference']; 
$Forename=$_REQUEST['Forename']; 
$surname=$_REQUEST['surname']; 

然后在更新查询:

$sql="INSERT INTO Triage (Reference,Forename,surname,D.O.B,Mobile Number,Home Number,Address,Postcode1,Email,Accident,Details) 
VALUES (".$Reference.",".$Forename.","... 

等与其余的值。

而且

while($rows=mysql_fetch_array($result)){ 

不会因为工作的结果将只包含成功返回真。

也许还有更多的错误我不确定。但你也应该检查这个以了解如何避免注入: What's the best method for sanitizing user input with PHP?

0

如果你想将数据从一个表转移到另一个表,你应该在某处选择这个表。你的代码中没有任何地方,你只是指定了列,你的脚本应该如何知道它们来自哪里?

INSERT INTO table1 (col1, col2, col3) SELECT correspondingColumn1, correspondingColumn2, correspondingColumn3 FROM table2 

PS:不要使用$参考,不过,你overwritting它

0

试试这个

1)你提到的所有变量名称为$引用其改变

2)查询不正确plz研究如何写查询..

3)REFER:http://www.w3schools.com/php/php_mysql_intro.asp

<?php 

require_once('auth.php'); 

$host=""; // Host name 
$username=""; // Mysql username 
$password=""; // Mysql password 
$db_name=""; // Database name 
$tbl_name="Instruction"; // Table name 

// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

$Reference=$_REQUEST['Reference']; 
$Forename=$_REQUEST['Forename']; 
$surname=$_REQUEST['surname']; 
$DOB=$_REQUEST['DOB']; 
$Mobile=$_REQUEST['Mobile']; 
$Home=$_REQUEST['Home']; 
$Address=$_REQUEST['Address']; 
$Postcode=$_REQUEST['Postcode1']; 
$Email=$_REQUEST['Email']; 
$Accident=$_REQUEST['Accident']; 
$Details=$_REQUEST['Details']; 


//semi colon removed 
$sql="INSERT INTO Triage (Reference,Forename,surname,D.O.B,Mobile Number,Home Number,Address,Postcode1,Email,Accident,Details) 
VALUES ('$Reference','$Forename','$surname','$DOB','$Mobile','$Home','$Address','$Postcode1','$Email','$Accident','$Details')"; 
$result=mysql_query($sql); 



// 
while($rows=mysql_fetch_array($result)){ 
echo '<a href="update.php?Reference='.$rows['Reference'].' ">update test</a>'; 
} 
// 


// end of while loop 

echo "Successful"; 
echo "<BR>"; 
echo "<a href='list_records.php'>View result</a>"; 


?> 
+0

不要忽视,但你也应该参考[* w3fools.com *](http:// www.w3fools.com/) –

+0

@Ravinder感谢好友的有用信息... – Mani

+0

嗨,大家好我昨天试过这个,它似乎没有工作,我已经在原始帖子中包含代码的更新.. ..我已经开始阅读w3fools.com和w3schools现在也给我一个更好的主意。 – user3301611