błąd z INSERT INTO

0

Dzień Dobry, otóż mam problem ponieważ sobie zrobiłem formularz który chciałbym żeby wysyłał dane do bazy danych lecz ciągle wywala mi błąd (jestem w miarę początkujący i nie wiem jak sobie poradzić z tym problemem:

Error: INSERT INTO test (Nick_funkcjonariusza, nickusm, Komenda, Ocena, ponowna_kontrola, Opinia) VALUES (‚Dawsab’,’Dawsak,’on,’on,’on,’dsa’)
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '��Dawsab’,’Dawsak,’on,’on,’on,’dsa' at line 2

 <?php
 $servername = "mysql.ct8.pl";
$username = "m15905_Ventureks";
$password = "Dawsabyt1";
$dbname = "m15905_baza";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO test (Nick_funkcjonariusza, nickusm, Komenda, Ocena, ponowna_kontrola, Opinia)
VALUES (‚$_POST[Nick_funkcjonariusza]’,’$_POST[nickusm],’$_POST[Komenda],’$_POST[Ocena],’$_POST[ponowna_kontrola],’$_POST[Opinia]’)";

if ($conn->multi_query($sql) === TRUE) {
  echo "Utworzono nowy rekord pomyślnie";
} else {
  echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>
0

Złe nawiasy w pierwszej wartości. Mają być 'xxx'

0

a w INSERT INTO bo głównie o to w sumie wywala błąd. Siedziałem nad tym z 2 godziny czasu i padłem bo już nie wiem co z tym nie tak jest :/

2

użyj parametrów: https://www.php.net/manual/en/mysqli-stmt.bind-param.php

<?php
$servername = "mysql.host";
$username = "user";
$password = "password";
$dbname = "baza";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO test (Nick_funkcjonariusza, nickusm, Komenda, Ocena, ponowna_kontrola, Opinia) VALUES (?, ?, ?, ?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param('ssssss', $_POST[Nick_funkcjonariusza], $_POST[nickusm], $_POST[Komenda], $_POST[Ocena], $_POST[ponowna_kontrola], $_POST[Opinia]);
if ($stmt->execute() === TRUE) {
echo "Utworzono nowy rekord pomyślnie";
} else {
echo "Error: " . $sql . "
" . $conn->error;
}

$conn->close();
?>
0

Działa :D
Dziękuję Bardzo!

1 użytkowników online, w tym zalogowanych: 0, gości: 1