我的代码运行正常,但如果$ file有三个项目,那么成功插入成功消息后打印三次。但我需要打印一次消息。
for($i = 1; $i <= count($file); $i++){
$insert=mysqli_query($con,"INSERT INTO song (song_name, song_url, album,artist)
VALUES ('".current(explode(".", $file))."', '".$file."','".$album."','".$artist."')");
if($insert){
print'Success';
}else{
print''.mysql_error().'';
}
}
答案 0 :(得分:1)
您可以执行以下操作:
$errors = array();
for ($i = 1, $n = count($file); $i <= $n; ++$i)
{
$insert = mysqli_query($con, $query);
if (!$insert)
{
$errors[] = mysqli_error($con);
}
}
if (empty($errors))
{
echo 'Success';
}
else
{
echo 'Errors:<br><br>' . implode('<br>', $errors);
}
另请注意,我已将您的号码mysql_error()
修正为正确的mysqli_error()
功能。
答案 1 :(得分:0)
这样写:
$success = true;
for($i = 1; $i <= count($file); $i++)
{
$insert=mysqli_query($con,"INSERT INTO song (song_name, song_url, album,artist)
VALUES ('".current(explode(".", $file))."', '".$file."','".$album."','".$artist."')");
if(!$insert)
{ $success = false;
print''.mysql_error().'';
}
}
if($success){
print'Success';
}
这只会打印“成功”,如果所有查询都成功,它只打印一次。
您应该考虑mysqli_*
而不是mysql_*
,因为由于安全问题,这些功能已被弃用。
答案 2 :(得分:0)
试试这个:(你还写了mysql_error而不是mysqli_error,这也修复了它。)
$success = 0;
for($i = 1; $i <= count($file); $i++)
{
$insert=mysqli_query($con,"INSERT INTO song (song_name, song_url, album,artist)
VALUES ('".current(explode(".", $file))."', '".$file."','".$album."','".$artist."')");
if($insert)
{
$success = 1;
}
else
{
print''.mysqli_error($con).'';
$success = 0;
break;
}
}
if($success)
print'Success';
答案 3 :(得分:0)
停止使用mysql_ *函数,不推荐使用它们。
试试这个:
$error = false;
for($i = 1; $i <= count($file); $i++){
$insert=mysqli_query($con,"INSERT INTO song (song_name, song_url, album,artist)
VALUES ('".current(explode(".", $file))."', '".$file."','".$album."','".$artist."')");
if($insert){
$error = true;
}
else{
$error = false;
print''.mysql_error().'';
}
}
if($error) {
print 'Success';
}
答案 4 :(得分:0)
以这种方式使用
function abc(){
$flag = "";
for($i = 1; $i <= count($file); $i++)
{
$insert=mysqli_query($con,"INSERT INTO song (song_name, song_url, album,artist)
VALUES ('".current(explode(".", $file))."', '".$file."','".$album."','".$artist."')");
if($insert)
{
$flag = true;
}
else
{
print''.mysql_error().''; return;
}
}
if($flag == true){
print 'success';
}
}