我的表艺术家:artistID,name,genreID,avatar,short decs,view,vnmartist。艺术家结构表我创建upload.php来上传mp3,并插入关于歌曲的信息,列为:name,artistID,genreID。
因为歌曲的名字和歌手,流派是由用户输入的。我想查一下艺术家的名字。如果name为null->将name插入数据库,则获取artistID并插入数据库。如果名称不为空->获取artistID并将数据插入表artist。
我的PHP代码如下:
$artist = $_POST['artist-name'];
$link = mysql_connect("localhost", "root", "");
mysql_select_db("vnmtest", $link);
$result = mysql_query("SELECT * FROM artist where name='".$artist."'",$link);
if($num_rows = mysql_num_rows($result) == 0)
echo "data is null";
else echo "data okay";
当测试上传1个文件时,我输入艺术家名称:"Nhật Trường",这类似于艺术家名字中的数据,但程序仍然回显"数据为空"
我的艺术家表:
[![我的艺术家表][2]][2]
我的完整代码如下:
if (!empty($_FILES["audiofile"])) {
$myFile = $_FILES["audiofile"];
if ($myFile["error"] !== UPLOAD_ERR_OK) {
echo "<p>An error occurred.</p>";
exit;
}
// ensure a safe filename
$name = preg_replace("/[^A-Z0-9._-]/i", "_", $myFile["name"]);
// don't overwrite an existing file
$i = 0;
$parts = pathinfo($name);
while (file_exists(UPLOAD_DIR . $name)) {
$i++;
$name = $parts["filename"] . "-" . $i . "." . $parts["extension"];
}
// preserve file from temporary directory
$success = move_uploaded_file($myFile["tmp_name"],
UPLOAD_DIR . $name);
if (!$success) {
echo "<p>Unable to save file.</p>";
exit;
}
// set proper permissions on the new file
chmod(UPLOAD_DIR . $name, 0644);
$name = $_POST['song-name'];
$artist = $_POST['artist-name'];
$genreID = $_POST['genreID'];
// kiểm tra artist tồn tại hay chưa
$artist = $_POST['artist-name'];
print_r($_POST['artist-name']);
//$sql = "SELECT * FROM artist where name='".$artist."'";
//$result = $conn->query($sql);
$link = mysql_connect("localhost", "root", "");
mysql_select_db("vnmtest", $link);
$result = mysql_query("SELECT * FROM artist where name='".$artist."'",$link);
if($num_rows = mysql_num_rows($result) == 0)
echo "data is null";
else echo "data okay";
// output data of each row
// $artist_select = $conn->query ("SELECT EXISTS(select * from artist where name = '".$artist."') ");
}
?>
我认为可能有三种可能性:
1) 字符集错误:尝试在页面中设置适当的字符集(例如:用标题设置:$mysqli->query("SET CHARACTER SET utf8")
)
2) 查询错误:尝试在中更改查询
$result = mysql_query("SELECT count(*) num FROM artist where name='".$artist."'",$link);
并修改if语句以检查"num"字段是否>0
3) "if"错误:尝试在中更改if(离开当前查询)
if(mysql_num_rows($result) == 0)