$connection = mysql_open();
$likes= array();
foreach($likes as $like)
{
$insert3 = "insert into ProfileInterests " .
"values ('$id', '$like', null)";
$result3 = @ mysql_query ($insert3, $connection)
or showerror();
}
mysql_close($connection)
or showerror();
由于某些原因,这不起作用= /我不知道为什么。 $ likes是一个用户输入的数组。我需要它多次插入表中,直到数组中的所有内容都在。
编辑 我修复了我在foreach循环中关闭它的问题。 mysql_open是我自己的函数btw。
有什么想法吗?
答案 0 :(得分:1)
对于一个$ likes,在您的示例中是一个空数组,我假设您在运行的代码中修复它。
第二个是你在循环运行的第一个时间关闭MySQL连接,这会阻止后续的MySQL查询运行。
答案 1 :(得分:0)
没有mysql_open
您可能需要mysql_connect
$likes
变量也是空的。所以没有foreach迭代会执行。
答案 2 :(得分:0)
您在foreach
循环中关闭连接。
答案 3 :(得分:0)
以下是插入数据的正确格式化代码......您可以使用它。
//数据库连接
$conn=mysql_connect(HOST,USER,PASS);
$link=mysql_select_db(DATABASE_NAME,$conn);
//插入数据的函数..其中 $ tableName 是表名和 $ valuesArray 用户输入数组
function insertData($tableName,$valuesArray) {
$sqlInsert="";
$sqlValues="";
$arrayKeys = array_keys($valuesArray);
for($i=0;$i < count($arrayKeys);$i++)
{
$sqlInsert .= $arrayKeys[$i].",";
$sqlValues .= '"'.$valuesArray[$arrayKeys[$i]].'",';
}
if($sqlInsert != "")
{
$sqlInsert = substr($sqlInsert,0,strlen($sqlInsert)-1);
$sqlValues = substr($sqlValues,0,strlen($sqlValues)-1);
}
$sSql = "INSERT INTO $tableName ($sqlInsert) VALUES ($sqlValues)";
$inser_general_result=mysql_query($sSql) or die(mysql_error());
$lastID=mysql_insert_id();
$_false="0";
$_true="1";
if(mysql_affected_rows()=='0')
{
return $_false;
}
else
{
return $lastID;
}
}
//功能结束
答案 4 :(得分:0)
虽然许多PHP新手(我自己包含)开始使用来自good ole'mysql_connect/query/etc.
的数据库,但我不禁建议你研究一下PDO
,PHP数据对象。根据您以前的知识和编程背景,可能会有更陡峭的学习曲线。但是,它更强大,可扩展等;我现在在我的所有生产代码数据库轮换和交易中使用PDO
。