PDA

View Full Version : code error on install


lasto
09-19-2007, 04:01 PM
trying to install a hack and getting an error

can anyone spot what is wrong with the code below as its this what is throwing up the error


if ($_REQUEST['do'] == 'phrase')
{
echo "<title>Installing hack</title>
<font face=\"Verdana\" size=\"2\">";
$findlangs = $db->query_read("SELECT languageid FROM " . TABLE_PREFIX . "language");
while ($print = $db->fetch_array($findlangs))
{
$lang = $print['languageid'];
$add = $db->query_read("INSERT INTO phrase (languageid, varname, fieldname, text, product, username, dateline, version) VALUES ('$lang', 'nopermission_havenot', 'error', 'return to forumhome. Please turn back to the forums .\r\n<br /><br />Good luck! :)\r\n\r\n<div align=\"{2}\">\r\n<a href=\"index.php\">Home</a>\r\n</div>', 'vbulletin', 'Dominus', '1189940681', '3.6.8'");
if ($add)
{
echo "Phrase added successfully to the languageid: $lang .";
}
}
echo "<a href='install_ca.php?do=db'>Click here</a> to create database table.";
echo "</font>";

}


the error i get is :


Database error in vBulletin 3.6.8:

Invalid SQL:
INSERT INTO phrase (languageid, varname, fieldname, text, product, username, dateline, version) VALUES ('1', 'nopermission_havenot', 'error', 'Return to forums. Please turn back to the forums <br /><br />Good luck! :)

<div align="{2}">
<a href="index.php">Home</a>
</div>', 'vbulletin', 'Dominus', '1189940681', '3.6.8';

MySQL Error : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Error Number : 1064

Opserty
09-19-2007, 05:33 PM
INSERT INTO phrase
(languageid, varname, fieldname, text, product, username, dateline, version)
VALUES
('$lang', 'nopermission_havenot', 'error', 'return to forumhome. Please turn back to the forums .\r\n<br /><br />Good luck! :)\r\n\r\n<div align=\"{2}\">\r\n<a href=\"index.php\">Home</a>\r\n</div>', 'vbulletin', 'Dominus', '1189940681', '3.6.8')

There is a closing bracket missing from the end of the query, (I added it in).

lasto
09-19-2007, 05:39 PM
are u sure as i see the closing bracket ?

is really bugging me this as cant track it down

'Dominus', '1189940681', '3.6.8'");

its closed at end of line unless im missing something

Opserty
09-19-2007, 05:40 PM
You need one inside the query too. There is a closing bracket missing from the query not the PHP :p

if ($_REQUEST['do'] == 'phrase')
{
echo "<title>Installing hack</title>
<font face=\"Verdana\" size=\"2\">";
$findlangs = $db->query_read("SELECT languageid FROM " . TABLE_PREFIX . "language");
while ($print = $db->fetch_array($findlangs))
{
$lang = $print['languageid'];
$add = $db->query_read("INSERT INTO phrase (languageid, varname, fieldname, text, product, username, dateline, version) VALUES ('$lang', 'nopermission_havenot', 'error', 'return to forumhome. Please turn back to the forums .\r\n<br /><br />Good luck! :)\r\n\r\n<div align=\"{2}\">\r\n<a href=\"index.php\">Home</a>\r\n</div>', 'vbulletin', 'Dominus', '1189940681', '3.6.8')");
if ($add)
{
echo "Phrase added successfully to the languageid: $lang .";
}
}
echo "<a href='install_ca.php?do=db'>Click here</a> to create database table.";
echo "</font>";

} There that should work

lasto
09-19-2007, 05:41 PM
can u give me the line with the closign bracket added plz

cheers m8 that worked perfect

if u dont mind this one is thrwoing up an error now - its the last part of the queries

if ($_REQUEST['do'] == 'db')
{
echo "<title>Installing </title>
<font face=\"Verdana\" size=\"2\">";
$db->query_read("CREATE TABLE `covercreditsettings` (
`id` int(11) NOT NULL auto_increment,
`credit_pay` int(11) NOT NULL,
`forums` text collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
");
$db->query_read("INSERT INTO `covercreditsettings` (credit_pay, forums) VALUES ('20', '5')");
echo "Database table has been added.";
echo "<br />Mod has been installed successfully. Congratulations. :)";
}

?>

the error is

Invalid SQL:
CREATE TABLE `covercreditsettings` (
`id` int(11) NOT NULL auto_increment,
`credit_pay` int(11) NOT NULL,
`forums` text collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`);

Opserty
09-19-2007, 06:02 PM
Try:

if ($_REQUEST['do'] == 'db')
{
echo "<title>Installing </title>
<font face=\"Verdana\" size=\"2\">";
$db->query_read("CREATE TABLE `covercreditsettings` (
`id` int(11) NOT NULL auto_increment,
`credit_pay` int(11) NOT NULL,
`forums` text collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
)
");
$db->query_read("INSERT INTO `covercreditsettings` (credit_pay, forums) VALUES ('20', '5')");
echo "Database table has been added.";
echo "<br />Mod has been installed successfully. Congratulations. :)";
}
I think thats it.

lasto
09-19-2007, 06:05 PM
it was correct cheers m8 and thanks for your quick replys

much appreicated

Dismounted
09-20-2007, 06:04 AM
What modification are you installing? Not many modifications require external install files these days.