|
You last visited: Today at 20:25
Advertisement
PHP FREUNDE aufgepasst You have an error in your SQL syntax
Discussion on PHP FREUNDE aufgepasst You have an error in your SQL syntax within the Metin2 Private Server forum part of the Metin2 category.
10/20/2016, 04:27
|
#1
|
elite*gold: 0
Join Date: Oct 2016
Posts: 17
Received Thanks: 3
|
PHP FREUNDE aufgepasst You have an error in your SQL syntax
Hallo ich wollte mir per php script Arbeit sparen.
Da meine Item Proto weniger dem Standart entspricht.
Nur habe ich anscheinend nun einen Minifehler in meiner Insert Into Query und erkenne keinen...
Scriptablauf: - Ladet aus player.item_proto alle vnums die kein icon zugeteilt bekommen haben
- sucht sich durch locale_name die selbe zeile aus der "standart" metin2 DB
- nimmt die vnum aus der standartDB rundet sie immer ab und das ist dann die id der tga/gr2.
- trägt die daten (wenn das script laufen würde) in der neuen proto ein
Falls noch jemand weiß wie man das macht das er immer abrundet (ab 5 rundet er auf ;/) wäre nice  da ja item id 10-19 zb alle 00010.tga/gr2 benutzen
Fehlerbeschreibung/Output:
PHP Code:
Einträge: 1199
Einträge2: 1
Could not enter data: 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 '443'' at line 1
Script:
PHP Code:
<?php
$db_ip = "xxx.xxx.xx.xxx";
$db_login = "root";
$db_pw = "xxxx";
$con = mysql_connect($db_ip, $db_login, $db_pw);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
$result_items = mysql_query('Select * FROM player.item_proto WHERE icon_path IS NULL OR icon_path ="" ORDER by vnum', $con);
$rows = mysql_num_rows($result_items);
#echo "Einträge: ".$rows."<br />";
while ($row = mysql_fetch_array($result_items)){
$name = $row['locale_name'];
$get_old_vnum = mysql_query('Select * FROM player_test.item_proto_copy WHERE locale_name="'.$name.'"', $con);
$rows2 = mysql_num_rows($get_old_vnum);
#echo "Einträge2: ".$rows2."<br />";
while ($rows2 = mysql_fetch_array($get_old_vnum)){
$query = mysql_query("INSERT INTO player.item_proto (icon_path, gr2_path) VALUES ('icon/item/00".round($rows2['vnum'], -1).".tga,d:/ymir work/item/weapon/00".round($rows2['vnum'],-1).".gr2) WHERE vnum ='".$row['vnum'], $con);
if(! $query )
{
die('Could not enter data: ' . mysql_error());
}
}
}
?>
über jede hilfe bin ich dankbar
|
|
|
10/20/2016, 04:37
|
#2
|
elite*gold: 274
Join Date: Sep 2016
Posts: 101
Received Thanks: 56
|
nvm.
Nimm diese Zeile:
PHP Code:
$query = mysql_query("INSERT INTO player.item_proto (icon_path, gr2_path) VALUES ('icon/item/00".round($rows2['vnum'], -1).".tga', 'd:/ymir work/item/weapon/00".round($rows2['vnum'],-1).".gr2') WHERE vnum =".$row['vnum'], $con);
Nicht getestet, sollte gehen.
|
|
|
10/20/2016, 04:58
|
#3
|
elite*gold: 0
Join Date: Oct 2016
Posts: 17
Received Thanks: 3
|
Quote:
Originally Posted by </nQQpls>
nvm.
Nimm diese Zeile:
PHP Code:
$query = mysql_query("INSERT INTO player.item_proto (icon_path, gr2_path) VALUES ('icon/item/00".round($rows2['vnum'], -1).".tga', 'd:/ymir work/item/weapon/00".round($rows2['vnum'],-1).".gr2') WHERE vnum =".$row['vnum'], $con);
Nicht getestet, sollte gehen.
|
PHP Code:
Could not enter data: 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 'WHERE vnum =443' at line 1
|
|
|
10/20/2016, 06:45
|
#4
|
elite*gold: 274
Join Date: Sep 2016
Posts: 101
Received Thanks: 56
|
Ach mir ist erst jetzt aufgefallen, dass Du einen Insert machen willst
Das funktioniert so natürlich nicht, es gibt Insert (Fügt neue Werte ein) und Update (Aktualisiert in Deinem Fall die 2 Spalten).
Demnach wäre das Folgende in Deinem Fall richtig:
PHP Code:
$query = mysql_query("UPDATE player.item_proto SET icon_path = 'icon/item/00".round($rows2['vnum'], -1).".tga', gr2_path = 'd:/ymir work/item/weapon/00".round($rows2['vnum'],-1).".gr2' WHERE vnum = ".$row['vnum'], $con);
|
|
|
10/20/2016, 09:24
|
#5
|
elite*gold: 0
Join Date: Oct 2016
Posts: 3
Received Thanks: 10
|
wieso benutzt man noch mysql_* funktionen
nimm mysqli_* oder pdo
|
|
|
10/20/2016, 16:11
|
#6
|
elite*gold: 23
Join Date: Nov 2013
Posts: 885
Received Thanks: 747
|
Wenn du immer abrunden willst, kannst du die PHP Funktion "floor" nutzen.
PHP Code:
floor($var) #rundet immer ab
Zum MySQL-Problem:
Du UPDATEst und fuegst nichts Neues ein.
-> Die mysql_* - Funktionen sind deprecated.
|
|
|
10/20/2016, 21:39
|
#7
|
elite*gold: 0
Join Date: Oct 2016
Posts: 17
Received Thanks: 3
|
Quote:
Originally Posted by </nQQpls>
Ach mir ist erst jetzt aufgefallen, dass Du einen Insert machen willst
Das funktioniert so natürlich nicht, es gibt Insert (Fügt neue Werte ein) und Update (Aktualisiert in Deinem Fall die 2 Spalten).
Demnach wäre das Folgende in Deinem Fall richtig:
PHP Code:
$query = mysql_query("UPDATE player.item_proto SET icon_path = 'icon/item/00".round($rows2['vnum'], -1).".tga', gr2_path = 'd:/ymir work/item/weapon/00".round($rows2['vnum'],-1).".gr2' WHERE vnum = ".$row['vnum'], $con);
|
Quote:
Originally Posted by ?#`/
Wenn du immer abrunden willst, kannst du die PHP Funktion "floor" nutzen.
PHP Code:
floor($var) #rundet immer ab
Zum MySQL-Problem:
Du UPDATEst und fuegst nichts Neues ein.
-> Die mysql_* - Funktionen sind deprecated.
|
Danke euch beiden funktioniert 1A!
|
|
|
 |
Similar Threads
|
parse error syntax error unexpected
01/12/2016 - Technical Support - 3 Replies
Ahoi liebe Community,
ich bin grad dabei WBB (Forensoftware), auf XAMPP zu installieren.
Wenn ich jetzt unter localhost/www/forum/install.php gehe bekomme ich folgenden Fehlercode:
Parse error: syntax error, unexpected 'a8c50dbb1996c8fa49c3a5ef4fc3c2' (T_STRING), expecting ')' in C:\xampp\tmp\d16ad071_1001_stepSelectSetupLanguage .php on line 34
Ich habe bereits die Datei mit N++ geöffnet und in Zeile 34 geschaut.
Dort steht folgender text:
|
[PHP] syntax error
12/15/2012 - Web Development - 4 Replies
Hallo
ich weiß nich warum der fehler kommt aber vllt. wisst ihr es
Parse error: syntax error, unexpected T_ELSE in .... on line 37
$Mailbetreff = "Kontakt: ".$_REQUEST;
mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: "
.$_REQUEST);
|
[PHP] syntax error
12/15/2012 - Web Development - 0 Replies
Ausversehen 2 mal abgeschickt
hab schon clsrq abgeschickt
|
Parse error: syntax error, unexpected T_VARIABLE
08/05/2012 - Web Development - 3 Replies
Hallo,
bekomme diese Meldung:
An sich findet man meistens den Fehler, ich bin jetzt aber schon mehrmals die vorherigen 31 Zeilen durchgegangen und hab keinen einzigen Fehler feststellen können.
Das sind die ersten 33 Zeilen:
<html>
<head></head>
<body>
|
[Hilfe]Parse error: syntax error
10/27/2009 - Metin2 Private Server - 6 Replies
Also hab IS -Script per xampp on und beim einloggen kommt der fehler hier
Parse error: syntax error, unexpected $end in C:\xampp\htdocs\default1.php on line 875
Help pls
Thx
Freaky
|
All times are GMT +1. The time now is 20:26.
|
|