我編寫腳本以用作2套數據庫,圖像庫和菜單的CMS。他們使用xampp和mamp在Windows,Mac甚至Linux上測試的本地服務器上工作。我的php/sql腳本在本地服務器上工作,但在活動網站上不完整
但是在GoDaddy的實時網站上,菜單cms只能修改數據庫項目,不會添加新項目。圖庫cms只能上傳圖片,但不會像其應該添加數據庫項目。
我很欣賞關於如何調試此問題或任何可能的解決方案(仍有很多要了解PDO,PHP和SQL)的任何提示。
我需要(改變數據庫憑證)的PDO文件:
<?php
ini_set('display_errors', 'On');
define('APP_ROOT', __DIR__);
define('VIEW_ROOT', APP_ROOT . '/views');
define('BASE_URL', '');
$db = new PDO('mysql:host=127.0.0.1;dbname=menu','sqladmin', 'password');
require 'functions.php';
?>
下面是圖片上傳腳本:
<?php
if(isset($_FILES['files'])) {
foreach ($_FILES['files']['name'] as $file=> $name) {
$filename = date('Ymd-His',time()).mt_rand().'-'.$name;
try {
if(move_uploaded_file($_FILES['files']['tmp_name'][$file],'../uploads/'.$filename)){
$stmt = $db->prepare("INSERT INTO multiupload VALUES('',?)");
$stmt->bindParam(1, $filename);
$stmt->execute();
}
} catch(Exception $e) {
echo $e;
}
}
}
?>
和添加項目到菜單的腳本:
<?php
if (!empty($_POST)) {
$name = $_POST['name'];
$label = $_POST['label'];
$dsc = $_POST['dsc'];
$price = $_POST['price'];
$price2 = $_POST['price2'];
$price3 = $_POST['price3'];
$price4 = $_POST['price4'];
$insertPage = $db->prepare("
INSERT INTO menu (name, label, dsc,price,price2,price3,price4)
VALUE (:name, :label, :dsc, :price,:price2,:price3,:price4)
");
$insertPage->execute([
'name' => $name,
'label' => $label,
'dsc' => $dsc,
'price' => $price,
'price2' => $price2,
'price3' => $price3,
'price4' => $price4,
]);
header('Location: ' . BASE_URL . '/admin/list.php');
}
?>
INSERT INTO multiupload VALUES('',?)' - 第一個值爲空而第二個參數化的任何原因?它也可以用空字符串參數化。 –
首先,查看PHP,MySQL等版本的差異,然後在web服務器用戶的mysql中檢查權限。 –
如果你要檢查真正的錯誤,也許你會知道你的代碼爲什麼失敗。 –