cuando se repite la variable en php, funciona, pero para insertarla en la base de datos no funciona, ¿cuál es el problema? No vi ningún problema en el código, gracias por la ayuda.
HTML/JQUERY
<form action="" id="myForm"> <input type="text" id="name" ><br/> <input type="text" id="age" ><br/> <input type="submit" value="Submit"> </form> <div id="result"></div> <script> $(function() { $("#myForm").submit(function(e) { e.preventDefault(); var name = $('#name').val(); var age = $('#age').val(); $.ajax({ url: 'validate.php', method: 'POST', data: {postname:name, postage:age}, success: function(res) { $("#result").append(res); } }); }); }); </script>php
<?php include 'mysqldb.php'; $name = $_POST['postname']; $age = $_POST['postage']; $sql = "insert into uss (first, last) values('".$name."','".$age."')"; $result = $conn->query($sql); echo $result ; ?>error en la consola
POST http://localhost/validate.php 500 (Internal Server Error) send @ jquery-3.1.1.min.js:4 ajax @ jquery-3.1.1.min.js:4 (anonymous) @ jquery.PHP:26 dispatch @ jquery-3.1.1.min.js:3 q.handle @ jquery-3.1.1.min.js:3mysqldb.php este es el archivo php para conectarse a la base de datos
<?php $conn = mysqli_connect('localhost', 'root', 'password' , 'database'); if (!$conn) { die("Connection failed: ".mysqli_connect_error()); } ?>Prueba esto para ver el error exacto:
<?php try { $conn = new PDO("dbtype:host=yourhost;dbname=yourdbname;charset=utf8","username","password"); $sql = "insert into uss (first, last) values('".$name."','".$age."')"; $result = $conn->query($sql); } catch(PDOException $e ){ echo "Error: ".$e; } .....//La consulta está "bien" construida.
Las variables allí están bien encapsuladas.
Hay algunos problemas de seguridad que puede solucionar previniendo las secuencias de comandos en sitios cruzados (XSS) y la inyección de SQL. Esto se hace a nivel de consulta. Hay muchos hilos en Stack que explican cómo hacerlo.
Pruebe y use mysqli de la siguiente manera:
$conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "your query here"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) { echo $result ; } `Gracias por decirme que escriba la sugerencia en una respuesta.
Gracias también por aceptar como la respuesta correcta, que mostró mucha consideración de su parte.