PhoneGap文件传输API到Mysql PHP
我正在尝试使用在以下位置找到的文件传输API获取图像: 到Mysql数据库。目前,我可以将其发送到服务器上,没有任何问题,但是我找不到任何关于如何将其发送到Mysql的教程/代码片段。我目前有下面的代码,但它只是返回没有选择的图像每次 如果任何人有一个建议,链接等我会非常伟大PhoneGap文件传输API到Mysql PHP,php,mysql,api,file-upload,cordova,Php,Mysql,Api,File Upload,Cordova,我正在尝试使用在以下位置找到的文件传输API获取图像: 到Mysql数据库。目前,我可以将其发送到服务器上,没有任何问题,但是我找不到任何关于如何将其发送到Mysql的教程/代码片段。我目前有下面的代码,但它只是返回没有选择的图像每次 如果任何人有一个建议,链接等我会非常伟大 // Create MySQL login values and // set them to your login information. $username = ""; $password = ""; $host
// Create MySQL login values and
// set them to your login information.
$username = "";
$password = "";
$host = "";
$database = "";
// Make the connect to MySQL or die
// and display an error.
$link = mysql_connect($host, $username, $password);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
// Select your database
mysql_select_db ($database);
// Make sure the user actually
// selected and uploaded a file
if (isset($_FILES['image']) && $_FILES['image']['size'] > 0) {
// Temporary file name stored on the server
$tmpName = $_FILES['image']['tmp_name'];
// Read the file
$fp = fopen($tmpName, 'r');
$data = fread($fp, filesize($tmpName));
$data = addslashes($data);
fclose($fp);
// Create the query and insert
// into our database.
$query = "INSERT INTO tbl_images ";
$query .= "(image) VALUES ('$data')";
$results = mysql_query($query, $link);
// Print results
print "Thank you, your file has been uploaded.";
}
else {
打印未选择/上传的图像;
}
看看那个教程。它不包括MySQL,但将图片保存在PHP服务器上: addslashes已被弃用,不可靠,会给您带来痛苦。不要将其用于数据库操作。这就是为什么会有mysql\u real\u escape\u字符串 您有一个无效的检查上传成功的方法。_文件数据将填充您正在检查的内容,但即使上载失败,它仍会填充该内容。您必须检查$\u FILES['image']['error']==UPLOAD\u ERR\u OK以确保上传成功。 不需要fopen/fread/filesize之类的东西。一个简单的文件获取内容将为您减少麻烦。 您在检查数据库操作时没有错误,并且假设它们都成功了。这很糟糕。即使您的SQL语句写得很好,查询失败的原因还有很多。特别是当你插入blob时——你不检查文件有多大,而是盲目地将其塞进查询中——这很容易超过MySQL配置的max_allowed_数据包,导致查询失败。您必须使用mysql\u查询检查查询失败。。。或Dieu错误;作为一个简单的mininum选项。
// Close our MySQL Link
mysql_close($link);