INSERT ????
hallo,
Ik probeer al de hele tijd wat waardes in mijn tabel te voegen maar het lukt niet. Hij geeft geen foutmelding weer maar er gebeurt eigenlijk niks.
dit is de code:
hoop dat iemand wat ziet.
groeten
Ik probeer al de hele tijd wat waardes in mijn tabel te voegen maar het lukt niet. Hij geeft geen foutmelding weer maar er gebeurt eigenlijk niks.
dit is de code:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);
mysql_query ("INSERT INTO users_reeksen (user_id, vierkleuren_id) VALUES ('"
. $_SESSION['user_id'] . "', '" . $_GET['vierkleuren_id'] . "')", $db_handle);
mysql_close($db_handle);
$db_found = mysql_select_db($database, $db_handle);
mysql_query ("INSERT INTO users_reeksen (user_id, vierkleuren_id) VALUES ('"
. $_SESSION['user_id'] . "', '" . $_GET['vierkleuren_id'] . "')", $db_handle);
mysql_close($db_handle);
hoop dat iemand wat ziet.
groeten
- Wat doet de spatie na mysql_query? Haal die eens weg?
- Bouw foutafhandeling in.
- beveilig je $_GET (en $_POST en $_COOKIE) variabelen tegen SQL-injection met mysql_real_escape_string()
- Verdiep je in de nieuwe MySQLi-functies van PHP. De MySQL-functies gaat er op den duur uit.
- Bouw foutafhandeling in.
- beveilig je $_GET (en $_POST en $_COOKIE) variabelen tegen SQL-injection met mysql_real_escape_string()
- Verdiep je in de nieuwe MySQLi-functies van PHP. De MySQL-functies gaat er op den duur uit.
Dank je voor de reactie. Ik heb de foiyafhandeling erin gezet en hij zegt: fout bij het invoeren van data. Wordt er biet wijzer van. Ik heb ook mysql_real_escape_string() erin gezet. De spatie is ook weg.
Maar nog steeds gaat er dus iets niet goed. Iemand????
De variabelen komen wel goed door want als ik daar echo voor zet geef die ze mooi weer.
Gr
Maar nog steeds gaat er dus iets niet goed. Iemand????
De variabelen komen wel goed door want als ik daar echo voor zet geef die ze mooi weer.
Gr
Wat zegt mysql_error()?
Hij zegt alleen dat de data niet is toegevoegd.
hier is de code:
hier is de code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);
# errors weergeven
ini_set('display_errors',0); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
# sql debug
define('DEBUG_MODE',false); // true == aan, false == uit
# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
$sql_insert_user = "INSERT INTO users_reeksen (user_id, vierkleuren_id)
VALUES (
'';
'".mysql_real_escape_string($_SESSION['user_id'])."',
'".mysql_real_escape_string($_GET['vierkleuren_id'])."',
)
";
if (($uservier = mysql_query($uservier)) === false)
{
# als de query fout is -> foutafhandeling
echo showSQLError($uservier,mysql_error(),'Fout bij het invoegen van de data.');
}
else
{
# De query is geluk! :)
echo 'Data is toegevoegt!';
}
$db_found = mysql_select_db($database, $db_handle);
# errors weergeven
ini_set('display_errors',0); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);
# sql debug
define('DEBUG_MODE',false); // true == aan, false == uit
# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}
$sql_insert_user = "INSERT INTO users_reeksen (user_id, vierkleuren_id)
VALUES (
'';
'".mysql_real_escape_string($_SESSION['user_id'])."',
'".mysql_real_escape_string($_GET['vierkleuren_id'])."',
)
";
if (($uservier = mysql_query($uservier)) === false)
{
# als de query fout is -> foutafhandeling
echo showSQLError($uservier,mysql_error(),'Fout bij het invoegen van de data.');
}
else
{
# De query is geluk! :)
echo 'Data is toegevoegt!';
}
Moet je wel je DEBUG-modus eens aanzetten, hé ;)
Kijk maar goed naar lijn 9.
Kijk maar goed naar lijn 9.
hij zecht nu dit:
Error: 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 ';
'6',
'' at line 3
Toevoeging op 03/10/2013 18:55:48:
toen ik de tekens op lijn 26 weg haalde zegt hij dit:
Error: 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 ')' at line 6
Error: 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 ';
'6',
'' at line 3
Toevoeging op 03/10/2013 18:55:48:
toen ik de tekens op lijn 26 weg haalde zegt hij dit:
Error: 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 ')' at line 6
Wat doet die punt-komma op lijn 26?
Een komma teveel bij de laatste value....
Wij plaatsen ook geen komma na een opsomming.
Een komma teveel bij de laatste value....
Wij plaatsen ook geen komma na een opsomming.
Gewijzigd op 03/10/2013 18:59:05 door - Ariën -
oke heb die laatste komma weg gehaald maar nu zegt hij dit:
Error: Duplicate entry '6' for key 'user_id'
Error: Duplicate entry '6' for key 'user_id'
Heb je het al eens vertaald?
die error??
Ja....
ja ik maak er uit op dat hi de waardes twee keer mee krijg??? Maar ik haal ze maar 1x op.
Je weet het verschil tussen INSERT en SELECT?
ja dat wel. insert is in een tabel plaatsen en select is iets selecteren vanuit je db
Klopt, jij hebt het over ophalen, maar het is toch echt een INSERT-query waar je het over hebt?
BLijkbaar wil je dus het getal 6 in de database plaatsen, terwijl die er al in staat, en blijkbaar een INT is, met een AUTO_INCREMENT setting....
BLijkbaar wil je dus het getal 6 in de database plaatsen, terwijl die er al in staat, en blijkbaar een INT is, met een AUTO_INCREMENT setting....
ohhh ja ik wil er wat in plaatsen. het moet in een koppeltabel worden geplaatst. Allebei de ID's zijn int. geen AUTO_INCREMENT
Ja de user_id komt daar vaker in voor uiteraard. Die andere is alleen altijd anders.
Ja de user_id komt daar vaker in voor uiteraard. Die andere is alleen altijd anders.
Gewijzigd op 03/10/2013 19:23:27 door wes achternaam
Wat zijn de eigenschappen van het veld nu dan? Een normale INT zonder PK zou gewoon moeten kunnen werken.
oke ik heb het volgende nu net gedaan. ik heb een veld extra erbij aangemaakt en die primary key gegeven. Dat wordt een int. Nu was de db leeg en de eerste record pakte hij maar de tweede niet omdat hij dan weer zegt:
Error: Duplicate entry '6' for key 'user_id'
dus de drie velden zijn:
users_reeksen_id (primary key, auro_encrement)
users_id (int)
vierkleuren_id(int)
Error: Duplicate entry '6' for key 'user_id'
dus de drie velden zijn:
users_reeksen_id (primary key, auro_encrement)
users_id (int)
vierkleuren_id(int)
Gewijzigd op 03/10/2013 20:04:43 door wes achternaam
Ergens wordt de ID "6" opnieuw aangemaakt, aangezien deze er al is, kan deze niet worden aangemaakt en geeft het die error.
Die eerste kolom (users_reeksen_id) kan weg.
Dan maak je een primary key op user_id en vierkleuren _id.
Kortom:
De pk op user_id en vierkleuren_id betekent dat je nooit dezelfde combinatie in kunt voeren.
Dan maak je een primary key op user_id en vierkleuren _id.
Kortom:
Code (SQL)
1
2
3
4
5
6
2
3
4
5
6
DROP TABLE users_reeksen_id;
CREATE TABLE users_reeksen_id (
user_id INT,
vierkleuren_id INT,
PRIMARY KEY (user_ud, vierkleuren_id)
)
CREATE TABLE users_reeksen_id (
user_id INT,
vierkleuren_id INT,
PRIMARY KEY (user_ud, vierkleuren_id)
)
De pk op user_id en vierkleuren_id betekent dat je nooit dezelfde combinatie in kunt voeren.
Gewijzigd op 03/10/2013 20:20:56 door Ger van Steenderen




