、テーブルにデータを挿入いけない問題がある:このスクリプトは、ローカルホスト上で完璧に動作しますが、私はそれをアップロードする際に、単に動作を停止し、エラー表示しません:私のスクリプトはカントの表示エラー
<?
$sessid = $_SESSION['id_usuario'];
if (!$mysqli->query("INSERT INTO `cervezam_sgcm`.`orders` (`id`, `userid`, `cid`, `tipou`, `cantidad`, `factura`, `producto`, `lote`, `notas`, `cprod`, `pbase`, `cenvio`, `fecha`, `fechae`, `fechap`, `status`, `cobro`, `ip`) VALUES
(NULL,
'.mysql_real_escape_string($sessid).',
'.mysql_real_escape_string($cid).',
'.mysql_real_escape_string($tipou).',
'.mysql_real_escape_string($cantidad).',
'.mysql_real_escape_string($factura).',
'.mysql_real_escape_string($producto).',
'.mysql_real_escape_string($numlot).',
'.mysql_real_escape_string($notas).',
'.mysql_real_escape_string($cprod).',
'.mysql_real_escape_string($pbase).',
'.mysql_real_escape_string($cenvio).',
'.mysql_real_escape_string($fecha).',
'',
'',
'.mysql_real_escape_string($status).',
'.mysql_real_escape_string($cobro).',
'.mysql_real_escape_string($ip).');")) {
echo "Falló la Insersión de Datos: (" . $mysqli->errno . ") " . $mysqli->error;
} echo"Datos Insertados";
テーブルに値を挿入しようとすると問題が発生します。
私は、mysql:real_escapeの有無にかかわらず、変数に{と}を使用し、変数Ejを削除して追加するだけです。 '' $変数。 ''、すべて!!まだ動作していません。
私はちょうどこのphp.net例にしようと試み:
$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd', $code, $language, $official, $percent);
$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;
/* ejecuta sentencias prepradas */
$stmt->execute();
と何が起こった、私のスクリプトは、それぞれのテーブルにデータを挿入したいいけません。
私は
error_reporting(E_ALL);
ini_set('display_errors',0);
ini_set('log_errors',1);
エラー報告を有効にしているが、ページには、ただの警告やエラーメッセージなしでホワイトになります。
また、mysqlユーザー名にINSERT権限があり、はい、データをテーブルにINSERTする権限があります。
私の英語に謝罪してください、ありがとうございました。これで解決
:
if (!$mysqli->query("INSERT INTO `cervezam_sgcm`.`orders` (`id`, `userid`, `cid`, `tipou`, `cantidad`, `factura`, `producto`, `lote`, `notas`, `cprod`, `pbase`, `cenvio`, `fecha`, `fechae`, `fechap`, `status`, `cobro`, `ip`) VALUES
(NULL,
'".$_SESSION['id_usuario']."',
'".$cid."',
'".$tipou."',
'".$cantidad."',
'".$factura."',
'".$producto."',
'".$numlot."',
'".$notas."',
'".$cprod."',
'".$pbase."',
'".$cenvio."',
'".$fecha."',
'',
'',
'".$status."',
'".$cobro."',
'".$ip."');")) {
echo "Falló la Insersión de Datos: (" . $mysqli->errno . ") " . $mysqli->error;
} echo"Datos Insertados";
これらの変数を消毒していますか?ユーザー入力の場合は、[SQL Injection](http://php.net/manual/en/security.database.sql-injection.php)の脆弱性があります。 – carla