Que tal, tengo un problema con una consulta. Resulta que tengo una tabla llamada productos, tiene como campos :
prod_id(bigint)(primary key)
prod_nombre(varchar)
prod_url_prod(varchar)
prod_url_imag(varchar)
prod_descripcion(varchar)
prod_precio(float)
pero cuando hago la consulta en mi código no actualiza la base de datos. El código es el siguiente:
Código PHP:
<?php
include "conector.php";
include "simplexml.class.php";
?>
<table>
<tr><td>
<?php
$nomArch=$_FILES['archivo']['name'];
$file = "archivos/export1.xml";
$sxml = new simplexml;
$data = $sxml->xml_load_file($file,$resulttype="object");
foreach($data->product as $producto)
{
$nombre=$producto->name;
$urlProd=$producto->productUrl;
$urlImag=$producto->imageUrl;
$descripcion=$producto->description;
$precio=$producto->price;
$id=$producto->TDProductId;
//me conecto a la base de datos
$conexion=conectar();
//me fijo si existe el producto chequeando con el id
$resul = mysql_query('select prod_id from productos where prod_id='+$id) or die (mysql_error());
//si el numero de filas devuelto es igual a 0 hago un insert into
if(($a=mysql_num_rows($resul))==0)
{
mysql_query("insert into productos (prod_id,prod_nombre,prod_url_prod,prod_url_imag,prod_descripcion,prod_precio)
values (".$id.",'"+$nombre+"','"+$urlProd+"','"+$urlImag+"','"+$descripcion+"',"+(string)$precio+")");
}
}
//cierro la conexión
mysql_close($conexion);
?>
Los valores de las variables antes de hacer la consulta estan bien, ya que imprimí su resultado por pantalla, puse un echo en la parte del if que corresponde al cumplimiento de la condición y pasa por ahí. El tema es que no me agrega las filas a la base, también verifiqué que se esté conectando a la base correcta ya que imprimí el nombre de las tablas y los campos de la base y efectivamente se imprimió la tabla productos, así que estoy conectado. Alguien sabe si tengo un error de sintaxis en las consultas??. Saludos