Valoare prestabilita la coloana in baza de date

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
mluci
Mesaje: 27

Valoare prestabilita la coloana in baza de date

Cod: Selectaţi tot

$link = mysqli_connect("localhost", "", "", "");
 
// Check connection
if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}
 
// Escape user inputs for security
$first_name = mysqli_real_escape_string($link, $_POST['username']);
$last_name = mysqli_real_escape_string($link, $_POST['nume']);
$email_address = mysqli_real_escape_string($link, $_POST['email']);
$password = mysqli_real_escape_string($link, md5($_POST['pass']));

// attempt insert query execution
$sql = "INSERT INTO nky_users (name, username, email, password, block) VALUES ('$nume', '$username', '$email', )";
if(mysqli_query($link, $sql)){
    echo "Records added successfully.";
} else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
 
// close connection
mysqli_close($link); 
As vrea ca valoarea block sa primeasca automat in baza de date valoarea 0.Am incercat, dar primes o eroare

MarPlo
Salut
Daca vrei sa ai o valoare prestabilita la coloana in baza de date, cel mai simplu e sa o setezi cu "default" cand se creaza acel tabel.
Exemplu:

Cod: Selectaţi tot

CREATE TABLE table_name (id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, block INT NOT NULL DEFAULT 0, etc.. Other Columns ..) CHARACTER SET utf8 COLLATE utf8_general_ci
Iar la Insert nu mai specifici acea coloana, si adauga mysql valoarea Default:

Cod: Selectaţi tot

$sql = "INSERT INTO nky_users (name, username, email, password) VALUES ('$nume', '$username', '$email', '$password')"; 
- Sau adaugi la Insert valoarea pe care o vrei:

Cod: Selectaţi tot

$sql = "INSERT INTO nky_users (name, username, email, password, block) VALUES ('$nume', '$username', '$email', '$password', 0)"; 
In Insert sa fie acelasi numar de Valori cate Coloane ai specificat.

Subiecte similare