Insert werkt niet, maar tog geen error?
Ik heb een code, die zou moeten werken.
hij zou dus een nieuwe regel, een nieuwe query moeten doen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
[conection weggelaten]
if(isset($_POST['text']) and isset($_POST['submit']) and isset($_POST['id'])){
$string = explode('\n', $_POST['text']);
foreach($string as $query){
mysql_query('INSERT INTO prpermissions (permstring, entryid) VALUES ('.$query.','.$_POST['id'].')');
echo $query.' Succes.<br />';
}
}else{
?>
<form action="wouterrr.php" method="post">
Permissions:<br/>
<textarea name="text">
</textarea><br/>
Group ID:<br/>
<input type="text" name="id" /><br/>
<input type="submit" name="submit"/><br/>
</form>
<?php
}
?>
[conection weggelaten]
if(isset($_POST['text']) and isset($_POST['submit']) and isset($_POST['id'])){
$string = explode('\n', $_POST['text']);
foreach($string as $query){
mysql_query('INSERT INTO prpermissions (permstring, entryid) VALUES ('.$query.','.$_POST['id'].')');
echo $query.' Succes.<br />';
}
}else{
?>
<form action="wouterrr.php" method="post">
Permissions:<br/>
<textarea name="text">
</textarea><br/>
Group ID:<br/>
<input type="text" name="id" /><br/>
<input type="submit" name="submit"/><br/>
</form>
<?php
}
?>
Maar er komt geen fout of iets dergelijks?
Alvast bedankt.
Tips altijd welkom :)
//edit
nu komt er dit: (enter zat verkeerd :S)
Quote:
help version servertime accept players essentials.sethome essentials.home essentials.list essentials.help essentials.msg essentials.afk essentials.spawn iConomyChestShop.shop.create iConomyChestShop.shop.buy iConomyChestShop.shop.sell iConomyChestShop.command.iteminfo essentials.pay essentials.signs.heal.use lwc.protect chaircraft.sit towny.town.claim towny.spawntp essentials.geoip.show uQuest.CanQuest.* citizens.use.* towny.wild.* towny.town.new uQuest.CanDropQuest iConomy.payment deathmessageplugin.sendmessage deathmessageplugin.getmessage jail.usercmd.jailstatus myhome.home.soc.invite giftpost.chest.everywhere Succes.
wat dus alemaal mooi onder elkaar moeten komen staan, en met ieder succes, zoiets:
Quote:
help Succes.
version Succes.
servertime Succes.
accept Succes.
players Succes.
essentials.sethome Succes.
essentials.home Succes.
essentials.list Succes.
version Succes.
servertime Succes.
accept Succes.
players Succes.
essentials.sethome Succes.
essentials.home Succes.
essentials.list Succes.
Moet er niet iets van een while in?
Gewijzigd op 03/07/2011 13:44:35 door Wouter Lolz
mysql_query("INSERT INTO prpermissions (permstring, entryid) VALUES ('$query','$_POST[\'id\']')");
Ook moet je eerst een connectie opzetten met je database
$connect = mysql_connect('localhost', 'gebruikersnaam', 'wachtwoord') or die(mysql_error());
mysql_select_db('database', $connect) or die(mysql_error());
Gewijzigd op 03/07/2011 13:42:34 door Non Actief
en ik zal die query is proberen.
//edit
dan krijg ik een 500 - Internal server error. (IIS 7)
Gewijzigd op 03/07/2011 13:43:31 door Wouter Lolz
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
[conection weggelaten]
if((isset($_POST['text']) && isset($_POST['submit'])) && isset($_POST['id'])){
$string = explode('\n', $_POST['text']);
$id = $_POST['id'];
foreach($string as $query){
mysql_query("INSERT INTO prpermissions (permstring, entryid) VALUES ('$query','$id')");
echo $query.' Succes.<br />';
}
}else{
echo '
<form action="wouterrr.php" method="post">
Permissions:<br/>
<textarea name="text">
</textarea><br/>
Group ID:<br/>
<input type="text" name="id" /><br/>
<input type="submit" name="submit"/><br/>
</form>
';
}
?>
[conection weggelaten]
if((isset($_POST['text']) && isset($_POST['submit'])) && isset($_POST['id'])){
$string = explode('\n', $_POST['text']);
$id = $_POST['id'];
foreach($string as $query){
mysql_query("INSERT INTO prpermissions (permstring, entryid) VALUES ('$query','$id')");
echo $query.' Succes.<br />';
}
}else{
echo '
<form action="wouterrr.php" method="post">
Permissions:<br/>
<textarea name="text">
</textarea><br/>
Group ID:<br/>
<input type="text" name="id" /><br/>
<input type="submit" name="submit"/><br/>
</form>
';
}
?>
Probeer dit is
Staan de kolommen en de waardes wel in de goede volgorde?
Zijn er twee kolommen of zijn er meerdere?
Gewijzigd op 03/07/2011 13:53:53 door Non Actief
miss iets met while?
Gewijzigd op 03/07/2011 13:54:50 door Wouter Lolz
- Bouw foutafhandeling, zie wat mysql_query teruggeeft.
- Maak gebruik van mysql_real_escape_string.
Uu, bedankt, maar waar is dat mysql real escape dan voor?
------------
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
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
<?php
if( $_SERVER['REQUEST_METHOD'] == 'POST'
and isset($_POST['text'])
and isset($_POST['id'])) {
if ($_POST['id'] != '') {
$sql = "INSERT INTO prpermission
(permstring
,entryid)
VALUES ('".mysql_real_escape_string($query)."'
,'".mysql_real_escpae_string($_POST['id'])."')";
if (($result = mysql_query($sql)) !== false) {
echo 'Record met succes toegevoegd';
}
else {
// op de slordige manier zien wat er fout gaat
echo 'Foutje: '.$sql.'<br />'.mysql_error();
}
}
else {
'Echo geen id bekend';
}
}
else{
// geen post doe wat
}?>
if( $_SERVER['REQUEST_METHOD'] == 'POST'
and isset($_POST['text'])
and isset($_POST['id'])) {
if ($_POST['id'] != '') {
$sql = "INSERT INTO prpermission
(permstring
,entryid)
VALUES ('".mysql_real_escape_string($query)."'
,'".mysql_real_escpae_string($_POST['id'])."')";
if (($result = mysql_query($sql)) !== false) {
echo 'Record met succes toegevoegd';
}
else {
// op de slordige manier zien wat er fout gaat
echo 'Foutje: '.$sql.'<br />'.mysql_error();
}
}
else {
'Echo geen id bekend';
}
}
else{
// geen post doe wat
}?>
En nu maar hopen dat ie in de gaten heeft dat het onhandig is om sql-statements te quoten met enkele quotes.
Ik vraag me af of het wel zo verstandig is om een textearea te gebruiken!!
maar ik zal het testen
en deze werkt volgens mij niet?
ik zie nergens dat je iets in de $query zet of iets erin aanmaakt?
Gewijzigd op 03/07/2011 14:00:58 door Wouter Lolz
@Noppes Homeland ik heb mysql_real_escape_string nooit aangehaald, dat was Karl Karl.
Wouter Lolz op 03/07/2011 13:59:56:
Nou textearea heb ik gebruikt omdat die bij een nieuwe regel een /n doet, en je die kan explode.
maar ik zal het testen
maar ik zal het testen
En hoe weet je dat zeker?
forums :), als dat niet klopt dan moet er iets anders voor komen..
Matthijs Veldhuizen op 03/07/2011 14:00:53:
@Noppes Homeland ik heb mysql_real_escape_string nooit aangehaald, dat was Karl Karl.
Noppes heeft het over escapen. Niet over mysql_real_escape_string die hij ook zelf gebruikt (wat je overigs niet voor ints hoeft te gebruiken, want je kunt typecasten).
Ik denk dat hij deze onzin post bedoelt:
Matthijs Veldhuizen op 03/07/2011 13:40:56:
Probeer dit is i.p.v. de mysql_query die je nu hebt.
mysql_query("INSERT INTO prpermissions (permstring, entryid) VALUES ('$query','$_POST[\'id\']')");
Ook moet je eerst een connectie opzetten met je database
$connect = mysql_connect('localhost', 'gebruikersnaam', 'wachtwoord') or die(mysql_error());
mysql_select_db('database', $connect) or die(mysql_error());
mysql_query("INSERT INTO prpermissions (permstring, entryid) VALUES ('$query','$_POST[\'id\']')");
Ook moet je eerst een connectie opzetten met je database
$connect = mysql_connect('localhost', 'gebruikersnaam', 'wachtwoord') or die(mysql_error());
mysql_select_db('database', $connect) or die(mysql_error());
uu, maar ik heb iets geprobeert met while maar dat werkt ook niet echt :(
Het scheelt dat ik alleen maar onzin post
idd, ik ben door jou al wel wat verder :)
Wouter Lolz op 03/07/2011 14:10:15:
uu, maar ik heb iets geprobeert met while maar dat werkt ook niet echt :(
Ik heb die foreach eruit gehaald, omdat het vrij onzinnig is om een string te gaan lopen splitsen op een gissing dat een EOL een \n is en het mijn inziens gewoon handiger zal zijn gewoon voor elke in te voeren waarde behorende bij het id een appart input veld te hebben.
Matthijs Veldhuizen op 03/07/2011 14:11:24:
Het scheelt dat ik alleen maar onzin post
Met die woorden, kan je dus beter niet reageren in topics waarin de inhoud jouw onbekend is.
Gewijzigd op 03/07/2011 14:18:38 door Noppes Homeland
het moet in een keer kunnen, want als het werkt, moet ik hele grote dingen gaan injecten.
Gewijzigd op 03/07/2011 14:18:54 door Wouter Lolz
Dacht van wel, want zoals je nu aannames doet in je code vervuil je alleen je data in de database tabel.
oke, maar is er dus nu een optie voor :S?
Gaat eens aan de slag met de gegeven informatie. Schrijf eerst eens een plan van aanpak en probeer daarna eens op je gemak je code woordelijk uit te schrijven, daarna kan je pas beginnen met de daadwerkelijke vertaling naar php-script-code.