Variables in a switch

I’m trying to pull the meta data & page titles from my db, but the method below just throws an error. I’m wondering if I have messed up somehow putting a variable as a case in the switch statement?
I just get this warning: <meta name=“keywords” content="<br />
<b>Warning</b>: sprintf() [<a href=‘function.sprintf’>function.sprintf</a>]: Too few arguments in <b>/home/test/public_html/testsite/functions.php</b> on line <b>163</b><br />
<br />
<b>Warning</b>: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in <b>/test/easmaweb/public_html/testsite/functions.php</b> on line <b>138</b><br />

Here’s my database table:

Here’s my code:

// Turn a result into an assoc array
function result_to_assoc($result)
	  $result_array = array();
		for ($i=0; $row = mysql_fetch_assoc($result) ; $i++)
		   $result_array[$i] = $row; 
		return $result_array;

// Output the page data
	function pages($name)
	$query = sprintf("SELECT page_keywords, page_description, page_title FROM pages WHERE page_file = %s"); 			
	$result = mysql_query($query);		
    $result = result_to_assoc($result);
    return $result;	  

Now in my html file I have this (I have rewrite on, so urls will be /home or /our-team e.t.c.)

<meta name="keywords" content="<?php
$url = preg_replace ('/\\/testsite\\//','',$url);
$page = $url;
$keywords = pages($page);   
 switch ($page)
	    case $keywords:
	    echo $keywords['page_keywords'];
	echo "testing";

Solved it needed single quotes around the %s duh!