PHP - error sqlsrrv_ query ()

 
Vista:
sin imagen de perfil
Val: 29
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

error sqlsrrv_ query ()

Publicado por raul (10 intervenciones) el 12/08/2020 00:07:03
Hola soy nuevo en esto y no logro que me guarde los datos en la tabla, estoy desesperado porque he probado de todo, el error que me aparece es

Fatal error: Uncaught Error: Call to undefined function sqlsrv_query() in /Applications/XAMPP/xamppfiles/htdcs/aplicaciones/4-CRUD_PHP_MYSQL_2/curso/valores/insertar_acomoda.php:90 Stack trace: #0 {main} thrown in

este sería el código:

conexion_sis.php

1
2
3
4
5
6
7
8
9
10
11
12
<?php
	$serverName = "localhost";
	$connectionInfo = array("Database"=>"personal", "UID"=>"root", "PWD"=>"", "CharacterSet"=>"UTF-8");
	$con = sqlsrv_connect($serverName, $connectionInfo);
 
	if($con){
		echo "conexión exitosa";
	}else{
		echo "fallo en la conexión";
	}
 
?>

tambien lo he probado con este y sigue igual:

conexion.php
1
2
3
4
5
6
7
8
9
10
<?php
 
	$mysqli = new mysqli('localhost', 'root', '', 'personal');
 
	if($mysqli->connect_error){
 
		die('Error en la conexion' . $mysqli->connect_error);
 
	}
?>

y inserta_acomoda.php sería este:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<!DOCTYPE html>
<?php
	include("conexion_sis.php");
?>
 
<meta charset="UTF-8">
<html lang="es">
	<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
 
    <title>Insertar valores Acomoda</title>
 
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="../css/bootstrap.min.css" rel="stylesheet">
		<link href="../css/bootstrap-theme.css" rel="stylesheet">
		<script src="../js/jquery-3.1.1.min.js"></script>
		<script src="../js/bootstrap.min.js"></script>
		<link href="bootstrap.min.css" rel="stylesheet">
	</head>
 
<body>
	<div class="col-md-8 col-md-offset-2">
		<h1>Inserta Valores en Acomoda</h1>
 
		<form method="POST" action="insertar_acomoda.php">
		  <div class="form-group" class="col-sm-2">
			<label>Revisión: </label>
			<input type="date" class="form-control" id="fecha" name="fecha" placeholder="fecha" value="" required="required" ><br />
		  </div>
 
 
 
			<label>aaod:</label>
			<input type = "number" name= "aaod" step = ".01" class="form-control" required="required" ><br />
 
  			<label>aaoi:</label>
  			<input type="number" name="aaoi" step = ".01" class="form-control" required="required"><br />
 
 
  			  <label>arnap:</label>
  			  <input type="number" name="arnap" step = ".01" class="form-control" required="required"><br />
 
 
  			  <label>flexiod:</label>
  			  <input type="number" name="flexiod" step = ".01" class="form-control" required="required"><br />
 
 
  			  <label>flexioi:</label>
  			  <input type="number" name="flexioi" step = ".01" class="form-control" required="required"><br />
 
 
  			  <label>memod:</label>
  			  <input type="number" name="memod" step = ".01" class="form-control" required="required"><br />
 
 
  			  <label>memoi:</label>
  			  <input type="number" name="memoi" step = ".01" class="form-control" required="required"><br />
  		    <br />
  		    <div class="form-group">
				<input type="submit" name="insert" class="btn btn-warning" value="INSERTAR DATOS"><br />
			</div>
	    </form>
	</div>
<br /><br /><br />
 
 
	<?php
		if(isset($_POST['insert'])){
			$aaod = $_POST['aaod'];
			//echo $_POST['aaod'];
			$aaoi = $_POST['aaoi'];
			//echo $_POST['aaoi'];
			$arnap = $_POST['arnap'];
			//echo $_POST['arnap'];
			$fecha = $_POST['fecha'];
			//echo $_POST['fecha'];
			$flexiod = $_POST['flexiod'];
			//echo $_POST['flexiod'];
			$flexioi = $_POST['flexioi'];
			//echo $_POST['flexioi'];
			$memod = $_POST['memod'];
			//echo $_POST['memod'];
			$memoi = $_POST['memoi'];
			//echo $_POST['memoi'];
 
 
			$insertar = "INSERT INTO acomoda(aaod, aaoi, arnap, fecha, flexiod, flexioi, memod, memoi) VALUES ('$aaod', '$aaoi', '$arnap', '$fecha', '$flexiod', '$flexioi', '$memod', '$memoi')";
 
			$ejecutar = sqlsrv_query($con, $insertar);
			//$ejecutar = $mysqli->query($insert);
 
 
			var_dump($resultado);
 
			if($ejecutar){
				echo "<h3>Insertado correctamente</h3>";
			}
 
 
		}
 
	?>
 
 
 
	</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Fabian
Val: 157
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

error sqlsrrv_ query ()

Publicado por Fabian (60 intervenciones) el 12/08/2020 12:45:02
No tenes instalado "sqlsrv_query" en tu php.ini en XAMP.
Si no sabés instalarlo reemplaza la linea "$ejecutar = sqlsrv_query($con, $insertar);" por "$ejecutar = $mysqli->query($insert);"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 29
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

error sqlsrrv_ query ()

Publicado por raul (10 intervenciones) el 13/08/2020 12:20:58
Gracias, he cambiado la conexión como me dices y ahora parece que funciona, pero sigue sin guardarme los valores en la tabla en var_dump($resultado) me aparece false no se porque no lo esta almacenando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fabian
Val: 157
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

error sqlsrrv_ query ()

Publicado por Fabian (60 intervenciones) el 13/08/2020 13:35:20
var_dump($resultado) te da nulo porque $resultado no existe. $ejectuar es la variable booleana que te indica si la operación fue exitosa o no.

proba con esto y fijate:
1
var_dump($ejecutar);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 29
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

error sqlsrrv_ query ()

Publicado por raul (10 intervenciones) el 13/08/2020 14:00:24
He cambiado la conexion a mysqli y parece que va bien, pero sigue sin almacenar los valores en la tabla. Si lo imprimo me sale: INSERT INTO acomoda(aaod, aaoi, arnap, fecha, flexiod, flexioi, memod, memoi) VALUES ('0.01', '0.02', '0.03', '2020-08-12', '0.04', '0.05', '0.06', '0.08') No sé si tiene relación y por eso no lo guarda con un campo UNIQUE que tengo creado id_personas en la tabla acomoda y que se relaciona con un campo id de otra tabla que tengo llamada personas, para que más adelante se pueda relacionar y según el id_personas que añada pueda almacenar los datos en su id y así cada persona individualmente pueda almacenar sus resultados de la tabla acomoda independientemente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fabian
Val: 157
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

error sqlsrrv_ query ()

Publicado por Fabian (60 intervenciones) el 13/08/2020 14:09:25
Vos decis que en la tabla "acomoda" tenes un campo llamado "id_personas"? Entonces cuando insertas datos en esa tabla, tenes que insertar tambien el id de la persona en "id_personas"
Tene en cuenta que al insertar datos en una tabla, tenes que completar TODOS los campos de la misma. Si "id_personas" es un campo de la tabla y no es autoincrementable, tenes que setearlo con el id de la persona. Si no completas todos los campos de la tabla, no te lo inserta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 29
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

error sqlsrrv_ query ()

Publicado por raul (10 intervenciones) el 13/08/2020 14:11:56
Si, así es pero acabo de borrar el campo unique y quitar la relación de las tablas para probar dejando todo limpio y sigue sin guardar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

error sqlsrrv_ query ()

Publicado por joel (1269 intervenciones) el 13/08/2020 14:10:16
Pero raul los comandos sqlsrv... son para SQL Server... y mysqli_... son para MySQL...

Cual es tu servidor de base de datos??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 29
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

error sqlsrrv_ query ()

Publicado por raul (10 intervenciones) el 13/08/2020 14:14:48
Ya lo he cambiado a mysql por si era un problema de alguna dll o algo pero sigue igual, el código que ha quedado es este, primer codigo en conexion.php y el siguiente insertar_acomoda.php

He ejecutado la consulta directamente en mysql y me aparece esto :#1265 - Datos truncados para columna 'fecha' en la línea 1

1
2
3
4
5
6
7
8
9
10
<?php
 
	$mysqli=new mysqli('localhost', 'root', '', 'personal');
 
	if($mysqli->connect_error){
 
		die('Error en la conexion' . $mysqli->connect_error);
 
	}
?>



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<!DOCTYPE html>
<?php
	include("conexion.php");
?>
 
<meta charset="UTF-8">
<html lang="es">
	<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
 
    <title>Insertar valores Acomoda</title>
 
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="../css/bootstrap.min.css" rel="stylesheet">
		<link href="../css/bootstrap-theme.css" rel="stylesheet">
		<script src="../js/jquery-3.1.1.min.js"></script>
		<script src="../js/bootstrap.min.js"></script>
		<link href="bootstrap.min.css" rel="stylesheet">
	</head>
 
<body>
	<div class="col-md-8 col-md-offset-2">
		<h1>Inserta Valores en Acomoda</h1>
 
		<form method="POST" action="insertar_acomoda.php">
		  <div class="form-group" class="col-sm-2">
			<label>Revisión: </label>
			<input type="date" class="form-control" id="fecha" name="fecha" placeholder="fecha" value="" required="required" ><br />
		  </div>
 
 
		  	<!--<label>Id Cliente</label>
			<input type = "number" name= "id_personas" class="form-control" required="required" ><br />-->
 
 
			<label>aaod:</label>
			<input type = "number" name= "aaod" step = ".01" class="form-control" required="required" ><br />
 
  			<label>aaoi:</label>
  			<input type="number" name="aaoi" step = ".01" class="form-control" required="required"><br />
 
 
  			  <label>arnap:</label>
  			  <input type="number" name="arnap" step = ".01" class="form-control" required="required"><br />
 
 
  			  <label>flexiod:</label>
  			  <input type="number" name="flexiod" step = ".01" class="form-control" required="required"><br />
 
 
  			  <label>flexioi:</label>
  			  <input type="number" name="flexioi" step = ".01" class="form-control" required="required"><br />
 
 
  			  <label>memod:</label>
  			  <input type="number" name="memod" step = ".01" class="form-control" required="required"><br />
 
 
  			  <label>memoi:</label>
  			  <input type="number" name="memoi" step = ".01" class="form-control" required="required"><br />
  		    <br />
  		    <div class="form-group">
				<input type="submit" name="insert" class="btn btn-warning" value="INSERTAR DATOS"><br />
			</div>
	    </form>
	</div>
<br /><br /><br />
 
 
	<?php
		if(isset($_POST['insert'])){
 
			//$id_personas = $_POST['id_personas']
			//echo $_POST['id_personas'];
			$aaod = $_POST['aaod'];
			//echo $_POST['aaod'];
			$aaoi = $_POST['aaoi'];
			//echo $_POST['aaoi'];
			$arnap = $_POST['arnap'];
			//echo $_POST['arnap'];
			$fecha = $_POST['fecha'];
			//echo $_POST['fecha'];
			$flexiod = $_POST['flexiod'];
			//echo $_POST['flexiod'];
			$flexioi = $_POST['flexioi'];
			//echo $_POST['flexioi'];
			$memod = $_POST['memod'];
			//echo $_POST['memod'];
			$memoi = $_POST['memoi'];
			//echo $_POST['memoi'];
 
 
			$insertar = "INSERT INTO acomoda(aaod, aaoi, arnap, fecha, flexiod, flexioi, memod, memoi) VALUES ('$aaod', '$aaoi', '$arnap', '$fecha', '$flexiod', '$flexioi', '$memod', '$memoi')";
 
 
			//$insertar = "INSERT INTO acomoda(aaod, aaoi, arnap, fecha, flexiod, flexioi, memod, memoi) VALUES ('$aaod', '$aaoi', '$arnap', '$fecha', '$flexiod', '$flexioi', '$memod', '$memoi') INNER JOIN personas WHERE acomoda.id_personas = personas.id";
 
			echo $insertar;
 
 
			$resultado = $mysqli->query($insertar);
 
 
			//var_dump($resultado);
 
 
 
 
		}
 
	?>
 
 
 
	</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

error sqlsrrv_ query ()

Publicado por joel (1269 intervenciones) el 13/08/2020 18:50:35
Que te muestra la linea 99???

Si lo que te devuelve lo ejecutas directamente sobre MySQL, ahí te dirá el error!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fabian
Val: 157
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

error sqlsrrv_ query ()

Publicado por Fabian (60 intervenciones) el 13/08/2020 14:20:45
Vos decis que en la tabla "acomoda" tenes un campo llamado "id_personas"? Entonces cuando insertas datos en esa tabla, tenes que insertar tambien el id de la persona en "id_personas"
Tene en cuenta que al insertar datos en una tabla, tenes que completar TODOS los campos de la misma. Si "id_personas" es un campo de la tabla y no es autoincrementable, tenes que setearlo con el id de la persona. Si no completas todos los campos de la tabla, no te lo inserta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 29
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

error sqlsrrv_ query ()

Publicado por raul (10 intervenciones) el 13/08/2020 14:26:26
Gracias.
Ahora me deja, vaya tontería que tenía y no me daba cuenta, el campo date lo tenía como int , ahora lo que me sucede es que no me guardan los decimales ejemplo 0,02 me lo guarda como 0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fabian
Val: 157
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

error sqlsrrv_ query ()

Publicado por Fabian (60 intervenciones) el 13/08/2020 14:35:21
seta los campos en la tabla que van decimales a tipo FLOAT o VARCHAR
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 29
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

error sqlsrrv_ query ()

Publicado por raul (10 intervenciones) el 13/08/2020 18:16:44
He realizado un show create table acomoda y el resultado que me da es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Table
Create Table
acomoda
CREATE TABLE `acomoda` (
 `id_acomoda` int(11) NOT NULL AUTO_INCREMENT,
 `aaod` decimal(11,0) NOT NULL,
 `aaoi` decimal(11,0) NOT NULL,
 `flexiod` decimal(11,0) NOT NULL,
 `flexioi` decimal(11,0) NOT NULL,
 `memod` decimal(11,0) NOT NULL,
 `memoi` decimal(11,0) NOT NULL,
 `fecha` date NOT NULL,
 `arnap` decimal(11,0) NOT NULL,
 PRIMARY KEY (`id_acomoda`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 29
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

error sqlsrrv_ query ()

Publicado por raul (10 intervenciones) el 13/08/2020 20:10:30
Los datos ya me los guarda pero el problema que estoy teniendo y no se como hacer, es que los datos decimales ejemplo 0,01 o 6,2 me los guarda con valor cero en el caso de 0,1 y 6 en el caso de 6,2 por lo que sea no los reconoce como decimales y no sé como hacer para que los guarde como tales. – el formulario los recojo como numbers
1
<input type="number" name="flexiod" step = ".01" class="form-control" required="required"><br />
y los de la tabla en mysql son decimales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fabian
Val: 157
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

error sqlsrrv_ query ()

Publicado por Fabian (60 intervenciones) el 13/08/2020 20:12:02
los tenes seteados como decimal(11,0), es decir entero con 11 digitos pero decimales 0. En el editor de tablas modificalo a 11,2 para 2 decimales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 29
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

error sqlsrrv_ query ()

Publicado por raul (10 intervenciones) el 13/08/2020 22:17:47
Muchas gracias, ahora si me funciona no sabía lo de los decimales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar