Jump to content

**SOLVED** File() & mysql_query


Nexx

Recommended Posts

[code] <?php
include("login.inc.php");

mysql_connect($hostname,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");

$file = file("names.txt");

foreach ($file as $names) {
//echo just to see its working
echo $names."<br>";
mysql_query("INSERT INTO vote (id,name,vote) VALUES (NULL,$names,'')");
}
mysql_close();
?>[/code]

Hello,

I have a text file which is a list of names, each on its own line. I'm trying to use the above code to take each name and insert it into a mysql database. My problem is, that mysql_query will only take a value if it is a number. If I replace names in the text file with numbers it works perfectly. I have also tried replacing file() with file_get_contents() and exploding it, same problem. I am possitive my database is set up correctly, I tested the same code by replacing $names with actual text and it inserted just fine.

As you can probably tell I'm new at this, I appreciate any help that can point me in the right direction here.
Link to comment
https://forums.phpfreaks.com/topic/10915-solved-file-mysql_query/
Share on other sites

You need quotes round string values.
Also, use trim() to remove newline from end of each name
[code]
foreach ($file as $names) {
        //echo just to see its working
        echo $names."<br>";
        $names = trim($names);
mysql_query("INSERT INTO vote (id,name,vote) VALUES (NULL,'$names','')");
}[/code]

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.