22. december 2020 - 17:49Der er
3 kommentarer og 1 løsning
Insert formular problemer
Jeg har en insertformular, som jeg ikke kan få til at skrive i databasen. <html> <head> </head> <body> <form name="test" method="post"> <?php $dbhost = 'localhost'; $dbname = 'userstest'; $dbuser = 'root'; $dbpass = '******'; $link = new mysqli($dbhost, $dbuser, $dbpass ,$dbname); mysqli_set_charset($link,"utf8"); ?> <input type="text" name="name"> <input type="text" name="email"> <input type="text" name="phone"> <input type="submit" name="submit" value="Submit"> <?php if (isset($_POST['submit'])) { $nam = $_POST['name']; $mail = $_POST['email']; $tlf = $_POST['phone']; $sql = mysqli_prepare($link,"INSERT INTO users (name, email, phone) VALUES (?,?,?)") or die(mysqli_error($link)); $sql->bind_param("ssi", $nam,$mail, $tlf); $sql->execute(); $success_message= $sql->get_result(); echo $success_message; if($sql->execute()) { $success_message = "Added Successfully"; echo $success_message; } else { $error_message=''; echo("Error description: " . mysqli_error($link)); echo $error_message; } $sql->close(); } ?> </form> </body> </html> I databasen hedder det første felt 'id'. Der kommer en meddelelse: "Error description: Field 'id' doesn't have a default value" Hvis jeg sletter feltet i databasen kommer den blot med næste felt: "Error description: Field 'name' doesn't have a default value" Kan være opsætningen af databasen?. Jeg bruger Wamp 3.2.3 - Mysqli 5.7.31
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Udover at jeg synes du skal gøre noget for at sikre dig at $tlf er et tal, så kan jeg ikke umiddelbart få øje på fejl i det, du har fremlagt her.
Men det er jo vigtigt at databasen ved, hvad den skal stille op med de kolonner, som indeholder primary key. Id-kolonnen vil man f.eks. ofte definere til at være autoincrement: id MEDIUMINT(9) NOT NULL AUTO_INCREMENT
Når du så skriver at "name" også laver fejlen, hvis du fjerner id. Det tænker jeg må skyldes at du har sat denne kolonne til at være "not null" -- og at du så ikke har indtastet noget i html'ens name felt.
Mao: Ja, jeg tror det hænger sammen med databasens struktur.
Der er ikke Auto increment i ID, men den er sat til Prime. Ingen af kolonnerne er sat til "NOT NULL", og datatyperne er: ID int(11) name varchar(30) email varchar(30) phone int(30)
Prøvede at ændre AI og så virkede "insert". Tak for hjælpen.
Synes godt om
1 synes godt om dette
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.