Ceci a été reposté de dba.stackexchange.SQL avec HTTP/1.1 Get
Désolé pour une telle question d'amateur, mais je ne sais pas pourquoi cela ne fonctionne pas. J'ai un "add.php" pour se connecter au serveur MySQL.
/add.php
<?php
include("connect.php");
$link=Connection();
$ID1=$_POST["ID1"];
$ID2=$_POST["ID2"];
$ID3=$_POST["ID3"];
$ID4=$_POST["ID4"];
$ID5=$_POST["ID5"];
$query = "INSERT INTO Battery (ID01, ID02, ID03, ID04, ID05)
VALUES ('".$ID1."','".$ID2.",'".$ID3.",'".$ID4."','".$ID5."')";
mysql_query($query,$link);
mysql_close($link);
header("Location: index.php");
?>
protocole connect.php
<?php
function Connection(){
$server="mysql.randomserver.com";
$user="random";
$pass="1234";
$db="random_1234";
$connection = mysql_connect($server, $user, $pass);
if (!$connection) {
die('MySQL ERROR: ' . mysql_error());
}
mysql_select_db($db) or die('MySQL ERROR: '. mysql_error());
return $connection;
}
?>
J'utilise simple HTTP 1.1:
GET /add.php?ID1=1int&ID2=2char&ID3=3char&ID4=4int&ID5=2015-04-13 01:00:00 HTTP/1.1\r\nmyhost\r\nContent-Type: application/x-www-form-urlencoded\r\nConnection:close\r\n\r\n\r\n
où ID1, ID4 est int ; ID2, ID3 char; ID5 Datetime (SQL)
L'hôte me jette cette erreur:
+IPD,168:<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>hosting</center>
</body>
</html>
Si quelqu'un a une idée pour moi d'essayer, je serais reconnaissant! Je suis vraiment désemparés ...
fixe: (Moskito-x) « » $ ID3.. " à « ',
Mettre à Jour" $ ID3.».: 2015,04. 22 13:56
Ok, j'ai essayé cela et il fonctionne sur ma page d'accueil: index.php (il suffit de copier le tout code /add.php dans index.php)
$query= "INSERT INTO Battery (ID01,ID02,ID03,ID04,ID05)
VALUES ('1int','2char','3char','4int','2015-04-22 17:20:28')";
$result = mysqli_query($link, $query)
Mais si je remplacez-le par add.php, aucune ligne n'est insérée.
j'ai changé add.php que d'autres ont suggéré:
add.php
<?php
$link=Connection();
$server="mysql.myhost.com";
$user="randomUser";
$pass="randomPwd";
$db="radomdb";
$link=mysqli_connect($server, $user, $pass, $db);
$query = "INSERT INTO Battery (ID01,ID02,ID03,ID04,ID05)
VALUES ('1int','2char','3char','4int','2015-04-22 17:20:28')";
mysqli_query($link, $query)
mysqli_close($link);
header("Location: index.php");
?>
Je ne sais pas si votre syntaxe est correcte mysql_query: http://php.net/manual/en/function.mysql-query.php Est-ce que vous avez des rapports d'erreur est activée pour votre code php? – Maximus2012
Il vous manque au moins un '\ n' dans cette commande' GET'. –
S'il vous plaît être conscient que les fonctions de 'mysql_' ne sont désormais plus seulement découragé (comme il a été au cours des dernières années), mais officiellement (http://php.net/manual/en/migration55.deprecated.php) [Obsolète] . Vous devriez vraiment utiliser [MySQLi] (http://php.net/manual/fr/book.mysqli.php) ou [PDO] (http://php.net/manual/fr/ref.pdo-mysql.php), car ce code cessera de fonctionner très bientôt. – Oldskool