Problema con consulta sql
Publicado por Luis (53 intervenciones) el 24/09/2009 06:34:37
Me gustaria que alguien por favor me ayuede.
Tengo un problema con el siguiente codigo
<?php require_once('Connections/conex.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
//$id_DetailRS2 = "A1801Q"; // valor por defecto
if (isset($_POST['proId'])) {
$id_DetailRS2 = $_POST['proId'];
}
echo "Id".$id_DetailRS2; // Siempre imprime
mysql_select_db($database_conex, $conex);
$query_DetailRS2 = sprintf("SELECT * FROM color, coloresproducto, productos WHERE productos.idProductos = %s AND coloresproducto.idProductos = productos.idProductos AND color.idColor=coloresproducto.idColor ORDER BY color.color ASC", GetSQLValueString($id_DetailRS2, "text"));
$DetailRS2 = mysql_query($query_DetailRS2, $conex) or die(mysql_error());
$row_DetailRS2 = mysql_fetch_assoc($DetailRS2);
$totalRows_DetailRS2 = mysql_num_rows($DetailRS2);
echo "desc " . $row_DetailRS2['descripcion'] . " color " . $row_DetailRS2['color']; // imprime solamente cuando lo ejecuto con el valor por defecto.
Si ejecuto este codigo directamente el navegador con el valor por defecto funciona como deberia funcionar, pero cuando lo llamo desde la otra pagina no funciona, y lo raro es que he pasado el id por post y por get y siempre lo imprime pero no ejecuta la sentencia.
No me da ningun error sql y si imprimo esto $totalRows_DetailRS2 imprime 0.
Es demasiado extraño para mi este error.
Gracias por adelantado al que pueda ayudarme.
Tengo un problema con el siguiente codigo
<?php require_once('Connections/conex.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
//$id_DetailRS2 = "A1801Q"; // valor por defecto
if (isset($_POST['proId'])) {
$id_DetailRS2 = $_POST['proId'];
}
echo "Id".$id_DetailRS2; // Siempre imprime
mysql_select_db($database_conex, $conex);
$query_DetailRS2 = sprintf("SELECT * FROM color, coloresproducto, productos WHERE productos.idProductos = %s AND coloresproducto.idProductos = productos.idProductos AND color.idColor=coloresproducto.idColor ORDER BY color.color ASC", GetSQLValueString($id_DetailRS2, "text"));
$DetailRS2 = mysql_query($query_DetailRS2, $conex) or die(mysql_error());
$row_DetailRS2 = mysql_fetch_assoc($DetailRS2);
$totalRows_DetailRS2 = mysql_num_rows($DetailRS2);
echo "desc " . $row_DetailRS2['descripcion'] . " color " . $row_DetailRS2['color']; // imprime solamente cuando lo ejecuto con el valor por defecto.
Si ejecuto este codigo directamente el navegador con el valor por defecto funciona como deberia funcionar, pero cuando lo llamo desde la otra pagina no funciona, y lo raro es que he pasado el id por post y por get y siempre lo imprime pero no ejecuta la sentencia.
No me da ningun error sql y si imprimo esto $totalRows_DetailRS2 imprime 0.
Es demasiado extraño para mi este error.
Gracias por adelantado al que pueda ayudarme.
Valora esta pregunta
0