我在PHP中有这个代码,但没有在数据库(MySQL)中记录某些东西,但是,显示“记录收费”(registros dados de alta)。此代码成功连接到数据库中。调试期间没有错误。我有两个文件,在表单中输入数据(index.php),并通过POST将数据移动到registracion.php,并记录这些寄存器。
的index.php
<html>
<head>
<title>Formulario de registro</title>
</head>
<body>
<h2>Ingrese sus datos</h2>
<form action="registracion.php" method="POST">
<p><label for="nombre">Nombre: </label><br>
<input type="text" name="nombre"></p>
<p><label for="apellido">Apellido: </label><br>
<input type="text" name="apellido"></p>
<p><label for="email">Email: </label><br>
<input type="text" name="email"></p>
<p><label for="dni">DNI: </label><br>
<input type="text" name="dni"></p>
<label for="sexo">Sexo: </label><br>
<select name="sexo" id="ubicacion">
<option value="" selected="selected">-</option>
<option value="F">Femenino</option>
<option value="M">Masculino</option>
</select>
<br /><br />
Fecha
<input type="text" name="dia" size="2">
<input type="text" name="mes" size="2">
<input type="text" name="anio" size="4">
<br>
<p><input type="submit" value="Registrarse" name="submit"></p>
<p><input type="reset" value="Limpiar"></p>
</form>
<?php
if(isset($_POST["submit"]))
{
$nombre = trim($_POST["nombre"]);
$apellido = trim($_POST["apellido"]);
$email = trim($_POST["email"]);
$sexo = trim($_POST["sexo"]);
$dni = trim($_POST["dni"]);
$dia= trim($_POST["dia"]);
$mes= trim($_POST["mes"]);
$anio= trim($_POST["anio"]);
$response = array();
if($nombre == "" or $apellido == "" or $dni == "" or $email == "" or $sexo == "" or $dia== 0 or $mes== 0 or $anio== 0)
$response[] = "Debes completar todos los campos";
if((strlen($nombre) < 5)||(strlen($nombre) > 10))
$response[] ="El nombre debe tener entre 5 y 10 caracteres";
if(!(filter_var($nombre, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "/^[a-zA-Z]*$/")))))
$response[]="Se deben ingresar solo letras";
if((strlen($apellido) < 5)||(strlen($apellido) > 10))
$response[] ="El apellido debe tener entre 5 y 10 caracteres";
if(!(filter_var($apellido, FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "/^[a-zA-Z]*$/")))))
$response[]="Se deben ingresar solo letras";
if(!is_numeric($dni))
$response[]="Debe tener solo numeros";
if(!filter_var($email,FILTER_VALIDATE_EMAIL ))
"El email no es valido";
if (!(checkdate($_REQUEST['mes'],$_REQUEST['dia'],$_REQUEST['anio'])))
$response[] = "La fecha no es valida";
if(empty($response))
echo "<p> Sus datos se han enviado correctamente</p>";
else
{
foreach($response as $r)
echo "Errores: ".$r."<br>";
}
}
?>
</body>
</html>
registracion.php
<html>
<head>
<title>Formulario de registro</title>
</head>
<body>
<br /><br />
<h2>Sus datos son:</h2>
<?php
echo'<br/>';
if (isset($_POST['nombre']))
{
$nombre= $_POST['nombre'];
echo "$nombre";
}
echo'<br/>';
if (isset($_POST['apellido']))
{
$apellido = $_POST['apellido'];
echo "$apellido";
}
echo'<br/>';
if (isset($_POST['dni']))
{
$dni = $_POST['dni'];
echo "$dni";
}
echo'<br/>';
if (isset($_POST['email']))
{
$email = $_POST['email'];
echo "email";
}
echo'<br/>';
if (isset($_POST['sexo']))
{
$sexo = $_POST['sexo'];
echo "$sexo";
}
echo'<br/>';
if (isset($_POST['dia']))
{
$dia = $_POST['dia'];
echo "$dia";
}
echo'<br/>';
if (isset($_POST['mes']))
{
$mes = $_POST['mes'];
echo "$mes";
}
echo'<br/>';
if (isset($_POST['anio']))
{
$anio = $_POST['anio'];
echo "$anio";
}
$host = "localhost";
$user = "root";
$pass = "";
$db = "base";
$nombre=$_POST['nombre'];
$apellido=$_POST['apellido'];
$dni=$_POST['dni'];
$email=$_POST['email'];
$sexo=$_POST['sexo'];
$dia=$_POST['dia'];
$mes=$_POST['mes'];
$anio=$_POST['anio'];
$fecha=strtotime($dia.$mes.$anio);
$enlace = conectarBaseDeDatos($host,$user,$pass,$db);
if($enlace)
echo "<br> Conectado exitosamente";
echo '<br><br>';
$cadena = "INSERT INTO cliente ('nombre','apellido','dni','email','sexo','fecha') VALUES ('$nombre','$apellido',$dni,'$email',$sexo,'$fecha')";
$resultado=ejecutar($cadena,$enlace);
echo '<br><br>';
function conectarBaseDeDatos($host,$user,$pass,$db)
{
$link=mysql_connect($host,$user,$pass) or die("Error al conectarse al servidor");
mysql_select_db($db) or die("Error al conectarse la base de datos");
return $link;
}
function ejecutar($cadena,$enlace)
{
$consulta = mysql_query($cadena,$enlace);
$numerofilas = mysql_num_rows($consulta);
if($numerofilas)
{
while ($fila = mysql_fetch_array($consulta))
echo $fila['id'] . " - " . $fila['nombre'] . " - " . $fila['nombre']." - ".$fila['laboratorio']." - ".$fila['costo']." - ".$fila['venta'] . "<br>";
}
$registros=mysql_affected_rows();
if($registros)
echo "<br> Registros dados de alta";
else
echo "no se pudo dar de alta";
return $consulta;
}
?>
出现此警告:mysql_num_rows()期望参数1为资源,布尔值在第99行的C:\ xampp \ htdocs \ Base de datos \ TP 6 \ ejercicio 3 v1 \ registracion.php中给出