Comunidad de diseño web y desarrollo en internet online

Problemas al insertar datos con php en mysql

Citar            
MensajeEscrito el 30 Jun 2018 02:45 am
Estoy intentando insertar el titulo de una pagina en una base de datos que un webcrawler me extrae. Este es el codigo php del webcrawler y me funciona perfectamente:

Código PHP :

<?php 
 
  $dbHost = 'localhost';
  $dbName = 'invento';
  $dbUser = 'root';
  $dbPass = '';
 
try {
 
  $pdo = new PDO("mysql:host=$dbHost;dbname=$dbName","$dbUser", "$dbPass");
  $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 
} catch(Exception $e) {
 
  echo $e->getMessage();
}
 
 
$html = file_get_contents('https://www.google.com');
preg_match('/<title>(.*)<\/title>/i', $html, $title);
 
$title_out = $title[1];
 
$sql = "INSERT INTO prueba('title') VALUES ($title_out)";
 
  $query = $pdo->prepare($sql);
 
  $result = $query->execute([
    'title' => $title_out
  ]);
}
 




Problemas al insertar datos con php en mysql
« en: Hoy a las 02:44 »
Responder con citaModificar mensaje
Estoy intentando insertar el titulo de una pagina en una base de datos que un webcrawler me extrae. Este es el codigo php del webcrawler y me funciona perfectamente:

Código
<?php

$dbHost = 'localhost';
$dbName = 'invento';
$dbUser = 'root';
$dbPass = '';

try {

$pdo = new PDO("mysql:host=$dbHost;dbname=$dbName","$dbUser", "$dbPass");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch(Exception $e) {

echo $e->getMessage();
}


$html = file_get_contents('https://www.google.com');
preg_match('/<title>(.*)<\/title>/i', $html, $title);

$title_out = $title[1];

$sql = "INSERT INTO prueba('title') VALUES ($title_out)";

$query = $pdo->prepare($sql);

$result = $query->execute([
'title' => $title_out
]);
}


pero en la parte de insertar en la tabla prueba el valor me sale este error que dice ser un error de sintaxis en sql, quisiera saber que error estoy cometiendo:

Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''title') VALUES (Google)' at line 1 in C:\xampp\htdocs\webcrawler\php-web-crawler\index.php:29 Stack trace: #0 C:\xampp\htdocs\webcrawler\php-web-crawler\index.php(29): PDOStatement->execute(Array) #1 {main} thrown in C:\xampp\htdocs\webcrawler\php-web-crawler\index.php on line 29

la linea 29 hace referencia al array que se pasa al execute()

Por diesanromero

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 01 Jul 2018 12:46 pm
Parece que tiene que ver con las comillas del dato tipo string, prueba

$sql = "INSERT INTO prueba('title') VALUES ('$title_out')";

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.