Foros del Web » Programando para Internet » Jquery »

Hacer consulta SQL con JAvascript

Estas en el tema de Hacer consulta SQL con JAvascript en el foro de Jquery en Foros del Web. Este es mi codigo, el problema es que si manda bien la variable pero cuando hago la consulta sql no me encuentra resultados Agradezco la ...
  #1 (permalink)  
Antiguo 22/01/2018, 10:33
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 490
Antigüedad: 13 años, 10 meses
Puntos: 2
Hacer consulta SQL con JAvascript

Este es mi codigo, el problema es que si manda bien la variable pero cuando hago la consulta sql no me encuentra resultados
Agradezco la ayuda

Código Javascript:
Ver original
  1. <script type='text/javascript'>//<![CDATA[
  2. window.onload=function(){
  3.  $.fn.delayPasteKeyUp = function(fn, ms)
  4.  {
  5.      var timer = 0;
  6.      $(this).on("propertychange input", function()
  7.      {
  8.          clearTimeout(timer);
  9.          timer = setTimeout(fn, ms);
  10.      });
  11.  };
  12.  
  13.  //la utilizamos
  14.  $(document).ready(function()
  15.  {
  16.     $("#ingreso").delayPasteKeyUp(function(){
  17.     $("#respuesta").append('Producto: <?php
  18.          $codigom = "'+ $('#ingreso').val() +'";
  19.      mysql_select_db($database_noticias, $noticias);
  20. echo $query_productos = "SELECT * FROM productos WHERE codigo=$codigom";
  21. $productos = mysql_query($query_productos, $noticias) or die(mysql_error());
  22. $row_productos = mysql_fetch_assoc($productos);
  23. $totalRows_productos = mysql_num_rows($productos);
  24. $kol = $row_productos['producto'];
  25.    
  26.      echo $kol;
  27.    
  28.  
  29. ?>
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #2 (permalink)  
Antiguo 22/01/2018, 11:01
Avatar de Alexis88
Objetivista
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.373
Antigüedad: 6 años, 7 meses
Puntos: 911
Respuesta: Hacer consulta SQL con JAvascript

Es lógico que no funcione ya que estás enviando una cadena de texto, la cual no tiene por qué interpretarse como código. Además, por una cuestión de seguridad, nunca debes exponer el código que se ejecuta en el lado del servidor (PHP, ASP, JSP, Node.js) en el lado del cliente (HTML, JavaScript, CSS). Cualquiera que revisara la consola del navegador podría modificar la consulta SQL y echarte abajo la base de datos.

Lo mejor será que, mediante una petición asíncrona (AJAX), envíes el valor de la variable $codigom hacia un archivo PHP externo que reciba dicho valor, ejecute la consulta e imprima el resultado, mismo que retornará al archivo inicial como respuesta a la petición.

Primer archivo:

Código HTML:
Ver original
  1. <input type="hidden" id="codigom" value="<?=$codigom?>" />

Código Javascript:
Ver original
  1. $("#ingreso").delayPasteKeyUp(function(){
  2.     $.get("segundo_archivo.php", {codigom: $("#codigom").val()})
  3.         .done(function(respuesta){
  4.             $("#respuesta").text(respuesta);
  5.         });
  6. });

Segundo archivo:

Código PHP:
Ver original
  1. $conexion = new mysqli ('server', 'user', 'password', 'database');
  2.  
  3. if ($conexion->connect_errno) exit($conexion->connect_errno . ': ' . $conexion->connect_error);
  4.  
  5. $codigom = $conexion->real_escape_string(strip_tags(trim($_GET['codigom'])));
  6. $consulta = "SELECT producto FROM productos WHERE codigo = $codigom";
  7. $resultado = $conexion->query($consulta) or exit($conexion->error);
  8.  
  9. if ($resultado->num_rows){
  10.     $registro = $resultado->fetch_assoc();
  11.     echo 'Producto: ' . $registro['producto'];
  12.     $resultado->free();
  13. }
  14. else{
  15.     echo 'No se encontró nada';
  16. }
  17.  
  18. $conexion->close();

__________________
«Laissez faire et laissez passer, le monde va de lui même»

Última edición por Alexis88; 22/01/2018 a las 14:22 Razón: Mejora



La zona horaria es GMT -6. Ahora son las 03:32.