我希望使用insert
类数据将update
/ csv
数据放入MySQL表中:
function execInsertOrUpdateCompteRendu($compterendu) // here $compterendu is something like this : -1;2012/03/06 09h 50mn;3;1;
{
$resultat = explode("\n",$compterendu);
$connec = mysql_connect("192.168.1.123:3306","root", "mysqlroot");
mysql_set_charset('utf8', $connec);
mysql_select_db("finance",$connec);
for($i = 0; $i < count($resultat) ; $i++)
{
$valeur=explode(";",$resultat[$i]);
if ($valeur[0] > 0)
{
$requete = mysql_query("UPDATE compte_rendu SET
cr_date = '".convertFromDateHM($valeur[1])."',
cr_lieu = '".$valeur[2]."',
cred_id = '".$valeur[3]."',
cr_resultat = '".$valeur[5]."',
cr_comment = '".$valeur[6]."',
adc_id = '".$valeur[7]."'
WHERE cr_id = '".$valeur[0]."'");
}
else
{
$requete = mysql_query("INSERT INTO compte_rendu SET
cred_id = '".$valeur[3]."',
cr_date = '".convertFromDateHM($valeur[1])."',
cr_lieu = '".$valeur[2]."',
cr_resultat = '".$valeur[5]."',
cr_comment = '".$valeur[6]."',
adc_id = '".$valeur[7]."'");
}
}
return $resultat[0];
}
此PHP
代码是web-service
我从J2ME
客户端调用的代码。问题是当我运行J2ME应用程序时,表中没有插入新数据!我调试了java程序,那里没有错误。那我的PHP
代码有什么问题?
答案 0 :(得分:1)
使用MySQLi预处理语句。然后,您可以将参数绑定为整数,双精度,字符串或blob。阅读Mysqli Manual以及关于约束bind_param部分的内容。
关于您的查询:您不必将整数值包装在引号
中答案 1 :(得分:0)
首先,您可以尝试使用mysql_real_escape_string
转发您输入数据库的所有文字 - 否则您可能会出现问题。 e.g。
//cr_lieu = '".mysql_real_escape_string($valeur[2])."',
另外 - 将字符串转换为整数?
$int = (int)$string;