Comunidad de diseño web y desarrollo en internet online

Problema Actualizar datos MySQL

Citar            
MensajeEscrito el 23 May 2013 04:54 am
Que tal buen dia, quisiera un poc de ayuda, resulta que al intentar actualizar mis datos de mi base de datos me sale este error:

Cannot query the database.
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 '='http://www.yourdomain.com/', ='/home/user/public_html/', ='localhost', ='Us' at line 2

La sentencia es esta:

<form name="form1" method="post" action="app/function.php?which=SETTINGS&t1=URL&t2=PATH&return=settings<?php echo $x; ?>&t3=HOST&t4=USER&t5=RAK&t6=WSU&t7=DNR&t8=AUTOTERM">

Mi archivo function es este:

<?php
include '../../inc/sqlinf.php';

$a = $_POST['1'];
$b = $_POST['2'];
$c = $_POST['3'];
$d = $_POST['4'];
$e = $_POST['5'];
$f = $_POST['6'];
$g = $_POST['7'];
$h = $_POST['8'];
$i = $_POST['9'];
$j = $_POST['10'];

if ($edit == 'tru') {

$v ='UPDATE $which SET';
$w =" WHERE ID = '$id'";

}else{
$v ='INSERT INTO $which SET';
$w = $nil;
}

if (empty($b)) {$bc = $no; } else {$bc=',';}
if (empty($c)) {$cc = $no; } else {$cc=',';}
if (empty($d)) {$dc = $no; } else {$dc=',';}
if (empty($e)) {$ec = $no; } else {$ec=',';}
if (empty($f)) {$fc = $no; } else {$fc=',';}
if (empty($g)) {$gc = $no; } else {$gc=',';}
if (empty($h)) {$hc = $no; } else {$hc=',';}
if (empty($i)) {$ic = $no; } else {$ic=',';}
if (empty($j)) {$jc = $no; } else {$jc=',';}
if (empty($k)) {$kc = $no; } else {$kc=',';}

if (empty($a)) {$t1= $nono; $q1 = $abc; $q2 = $def;}else{$q1a="'"; $q2a="=";}
if (empty($b)) {$t2= $nono; $q1 = $abc; $q2 = $def;}else{$q1b="'"; $q2b="=";}
if (empty($c)) {$t3= $nono; $q1 = $abc; $q2 = $def;}else{$q1c="'"; $q2c="=";}
if (empty($d)) {$t4= $nono; $q1 = $abc; $q2 = $def;}else{$q1d="'"; $q2d="=";}
if (empty($e)) {$t5= $nono; $q1 = $abc; $q2 = $def;}else{$q1e="'"; $q2e="=";}
if (empty($f)) {$t6= $nono; $q1 = $abc; $q2 = $def;}else{$q1f="'"; $q2f="=";}
if (empty($g)) {$t7= $nono; $q1 = $abc; $q2 = $def;}else{$q1g="'"; $q2g="=";}
if (empty($h)) {$t8= $nono; $q1 = $abc; $q2 = $def;}else{$q1h="'"; $q2h="=";}
if (empty($i)) {$t9= $nono; $q1 = $abc; $q2 = $def;}else{$q1i="'"; $q2i="=";}
if (empty($j)) {$t10=$nono; $q1 = $abc; $q2 = $def;}else{$q1j="'"; $q2j="=";}

$sql = "$v
$t1 $q2a$q1a$a$q1a$bc
$t2 $q2b$q1b$b$q1b$cc
$t3 $q2c$q1c$c$q1c$dc
$t4 $q2d$q1d$d$q1d$ec
$t5 $q2e$q1e$e$q1e$fc
$t6 $q2f$q1f$f$q1f$gc
$t7 $q2g$q1g$g$q1g$hc
$t8 $q2h$q1h$h$q1h$ic
$t9 $q2i$q1i$i$q1i$jc
$t10 $qj$q1j$j$q1j$kc
$w
";
$query = mysql_query($sql) or die("Cannot query the database.<br>" . mysql_error());

$variable = "../$return.php";
include '../resend.php';
?>

No encuentro cual es el problema :C, Les agradezco de antemano su ayuda

Por scrups

2 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 May 2013 12:16 pm
Imprime el contenido de la variable $sql antes de ejecutar mysql_query(). Copia y pega aquí en el foro el valor de la misma.

Parece que tienes que escapar las comillas simples. MySQL las toma como parte de la sentencia SQL pero en realidad son parte del valor.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 23 May 2013 05:43 pm

DriverOp escribió:

Imprime el contenido de la variable $sql antes de ejecutar mysql_query(). Copia y pega aquí en el foro el valor de la misma.

Parece que tienes que escapar las comillas simples. MySQL las toma como parte de la sentencia SQL pero en realidad son parte del valor.


Y como hago eso amigo jeje sorry es que apenas estoy aprendiendo modificando scripts, ya intente con echo pero imprime el contenido.

De hecho fijate que si llegue a la conclusion que es problema de las comillas ya que al principio me daba lata el SET pero modifique las " por ' y dejo de dar lata y ahora es este rollo pero no entendi muy bien en que consiste el Function y como modificarlas, saludos.

Por scrups

2 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 May 2013 05:56 pm

DriverOp escribió:

Imprime el contenido de la variable $sql antes de ejecutar mysql_query(). Copia y pega aquí en el foro el valor de la misma.

Parece que tienes que escapar las comillas simples. MySQL las toma como parte de la sentencia SQL pero en realidad son parte del valor.


Creo que es esto lo que me pedis:

INSERT INTO $which SET ='http://www.yourdomain.com/', ='/home/user/public_html/', ='localhost', ='Username', ='6f1sdfsfsd86fd8sfv78f681zf6d6f1sdfsfsd86fd8sfv78f681zf6d6f1sdfsfsd86fd8sfv78f681zf6d6f1sdfsfsd86fd8sfv78f681zf6d6f1sdfsfsd86fd8sfv78f681zf6d6f1sdfsfsd86fd8sfv78f681zf6d6f1sdfsfsd86fd8sfv78f681zf6d', ='http://www.yourdomain.com', ='http://www.yourdomain.com', ='NO' Cannot query the database.
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 '='http://www.yourdomain.com/', ='/home/user/public_html/', ='localhost', ='Us' at line 2

Por scrups

2 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 May 2013 06:56 pm
¿Eso es lo que te sale cuando haces...

Código PHP :

echo $sql."<br />";
?

Pues me temo que tienes un problema con PHP :P.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.