Problemas al insertar variables en base de datos

  • Autor Autor perafan18
  • Fecha de inicio Fecha de inicio
P

perafan18

Alfa
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola betas!
Necesito ayuda, tengo problemas para insertar una variable en una base de datos pero no se cual sea mi error ,este es el código:
PHP:
if(isset($_POST['enletf'])){
if($_POST['artlf']!=NULL){
if($_POST['nombrelf']!=NULL){
if($_POST['letraf']!=NULL){
				
$letra = $_POST['letraf'];
$nombre = $_POST['nombrelf'];
$artista = $_POST['artlf'];
$clave=$cb.$ID.date('Hms');

$quitar = array("<", ">", "/", "'\'", "<3",);
$sustituir = array("<", ">", "/", "'\'", "♥");
$newletra = str_replace($quitar, $sustituir, $letra);
$newnombre = str_replace($quitar, $sustituir, $nombre);
$newartista = str_replace($quitar, $sustituir, $artista);

echo '<br/>';
echo $newletra;
$letra = $newletra;
echo '<br/>';
echo $newnombre;
echo '<br/>';
echo $newartista;

 $insert = mysql_query("INSERT INTO letras SET letra='$newletra'");

if($insert == TRUE){
echo 'Se inserto correctamente';
}else{
echo 'Hay un error wey!';
}

}else{echo '<br/>¿Y la letra?';}
}else{echo '<br/>Faltó El Nombre De La Canción';}
}else{echo '<br/>Faltó El Artista De La Canción';}
}
Las varibles si se imprimen y no encuentro ningún error en las variables o en str_replace pero al final no se insertan las variables en la base de datos y me aparece el mensaje de "Hay un error wey" y ya cheque la conexión con la base de datos y también esta bien!.
Espero que me puedan ayudar :encouragement:
 
broder la linea $insert = mysql_query("INSERT INTO letras SET letra='$newletra'");

cambiala por haber si te agarra

$insert = mysql_query("INSERT INTO letras SET letra=".$newletra."");
 
ohh por Dios, no tienen ni la mas mínima idea de insertar un dato a mysql

no existe esa instruccion SQL
PHP:
$insert = mysql_query("INSERT INTO letras SET letra=".$newletra."");

para insertar es así
PHP:
$insert = mysql_query("INSERT INTO letras (letra) values ('$newletra')");
 
Gracias [MENTION=32013]imJoc[/MENTION] pero no sirvio.
hahaha [MENTION=10753]jpmaster[/MENTION] si existe esa instrucción , es mejor conocer y luego opinar 😉 y tampoco sirvio lo que me dijiste, pero gracias.
 
jajaa si tienes razón, bueno investigando esa instrucción sql es muy poco usada, es mas creo que pocas personas la conocen para insertar datos, la manera mas común y conocida es como te la escribí, debería funcionar perfectamente, si no te funciona pues tienes problemas por otros lados, debe ser la tabla o algún campo que no existe o algún error de sintaxis.... por que no dejas el error que te devuelve? así seria mas fácil no crees?
 
[MENTION=22872]perafan18[/MENTION] imprimí la consulta en pantalla a ver si esta bien, es lo mas rapido para detectar errores

PHP:
echo "INSERT INTO `letras` SET letra='".$newletra."'";

o intenta como puse:
PHP:
$insert = mysql_query("INSERT INTO `letras` SET letra='".$newletra."'");
 
de pura casualidad, si estas haciendo la conexion a la DB? :ambivalence:

Saludos!!



EDITO: Ya vi que dices que si esta bien la conexion, pero pues yo lo puse tal cual lo pusiste aqui y si me inserta bien.



Tambien lo que puede pasar es que si tienes un campo como PK y al no asignarle valor creo se asigna uno automatico pero si vuelves a querer insertar sin asignarle valor intenta ponerle el mismo y al ser PK no permite repetirlo.

Saludos!!
 
Última edición:
amigo si no me equiboco estas intentando insertar la variable newletra en una columla ya ? existente osea ? actualizando ?? porque si es pa insertar por primera vez puede ser asi tambien mira

$insert = mysql_query("INSERT INTO TABLA_X (letras) values ('$newletra')");

y si es pa actualizar tendrias que usar un UPDATE.. si quieres nos explicas un poco lo que quieres hacer y pues asi te entendemos mejor y te podemos ayudar por lo menos yo quiero ayudarte jejeje
 
En todo caso coloca:

$insert = mysql_query("INSERT INTO letras SET letra='$newletra'") or die(mysql_error());

Nos muestras qué sale..
 
Ya lo pude resolver Muchas gracias a todos, el error estaba en la variable
PHP:
$newletra
 
Atrás
Arriba