Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Supondo o seguinte script hipotético:
<?php
$server = 'localhost';
$dbname = 'dbname';
$dbuser = 'root';
$dbpw = '';
$conn = mysql_connect($server, $dbuser, $dbpw) or die(mysql_error());
$db = mysql_select_db($dbname, $conn) or die(mysql_error());
$nome = "abc123";
$teste = "abcde";
$sql = "INSERT INTO table1 VALUES (0, '{$nome}', '{$teste}')";
$query = mysql_query($sql) or die(mysql_error());
echo $query ? 'Sucesso' : ''; //Em caso de falha, o or die resolve.
?>
MySQL Table:
CREATE TABLE `table1` (
`id` int(11) NOT NULL auto_increment,
`make` varchar(255) NOT NULL,
`teste` tinyint(1) default NULL,
PRIMARY KEY (`id`)Sim, eu sei que não é bom usar mysql_ (está ultrapassado) ou or die ou whatever.
Este é só um script-modelo rápido para representar o assunto que quero tratar: Tipos de dados
Segundo o Script SQL, a coluna teste é do tipo int e o script PHP está tentando inserir "abcde".
Não sei se minha suposição está incorreta, mas estou assumindo que o PDO, MySQLi ou qualquer outro tipo de biblioteca do tipo não resolverá meu problema: esta query NÃO retorna erro. Porém, o valor que chega ao MySQL é o nº 0.
Enfim, que opções eu tenho para resolver este tipo de problema?
Ps.: Se possível, tenha em mente que estou construindo uma classe de importação de arquivos .CSV (cujo em breve postarei no laboratório de scripts), porém é um importador mais complexo: O intuito é modelar o banco (criar a estrutura de tabelas) baseado no cabeçalho do arquivo .CSV e, em seguida, importar todos os dados.
Carregando comentários...